Example #1
0
void EXTIX_Init(void)
{
	KEY_Init();
	
	//配置键盘中断触发方式
	Ex_NVIC_Config(GPIO_E,2,FTIR);
	Ex_NVIC_Config(GPIO_E,3,FTIR);
	Ex_NVIC_Config(GPIO_E,4,FTIR);//上拉,默认高电平,下降沿触发
	Ex_NVIC_Config(GPIO_A,0,RTIR);//下拉,默认低电平,上升沿触发
	
	//设置中断分组
	MY_NVIC_Init(3,2,EXTI2_IRQn,2);//抢占优先级为3,子优先级为2,中断分组为第2组[2位抢占优先级(有4个抢占优先级),2位响应优先级(有4个)]
	MY_NVIC_Init(2,2,EXTI3_IRQn,2);
	MY_NVIC_Init(1,2,EXTI4_IRQn,2);
	MY_NVIC_Init(0,2,EXTI0_IRQn,2);	
	
}
Example #2
0
//外部中断初始化程序
//初始化PA0,PA13,PA15为中断输入.
void EXTIX_Init(void)
{
	RCC->APB2ENR|=1<<2;     //使能PORTA时钟
	JTAG_Set(JTAG_SWD_DISABLE);//关闭JTAG和SWD   

	GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入	  
	GPIOA->CRL|=0X00000008;   
	GPIOA->CRH&=0X0F0FFFFF;//PA13,15设置成输入	  
	GPIOA->CRH|=0X80800000; 				   
	GPIOA->ODR|=1<<13;	   //PA13上拉,PA0默认下拉
	GPIOA->ODR|=1<<15;	   //PA15上拉

	Ex_NVIC_Config(GPIOA,0,RTIR); //上升沿触发
	Ex_NVIC_Config(GPIOA,13,FTIR);//下降沿触发
	Ex_NVIC_Config(GPIOA,15,FTIR);//下降沿触发

	MY_NVIC_Init(2,2,EXTI0_IRQn,2);    //抢占2,子优先级2,组2
	MY_NVIC_Init(2,1,EXTI15_10_IRQn,2);//抢占2,子优先级1,组2	   
}
Example #3
0
File: init.c Project: rmr1012/SEDS
void EXTIX_Init(void)
{				
				  
	JTAG_Set(JTAG_SWD_DISABLE);//turn off JTAG&SWD   
				   	
	Ex_NVIC_Config(GPIO_B,0,0x03); //edge trigger

	MY_NVIC_Init(1,1,EXTI0_IRQChannel,2);   
	   
}
Example #4
0
//PA0 WKUP唤醒初始化
void WKUP_Init(void)
{	  		  
	RCC->APB2ENR|=1<<2;     //先使能外设IO PORTA时钟    
	RCC->APB2ENR|=1<<0;     //开启辅助时钟		  
 	
	GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入	  
	GPIOA->CRL|=0X00000008;  
	Ex_NVIC_Config(GPIO_A,0,RTIR);//PA0上升沿触发	   
		   										   		   
	//(检查是否是正常开)机    		 
    if(Check_WKUP()==0)Sys_Standby();    //不是开机,进入待机模式  
	MY_NVIC_Init(2,2,EXTI0_IRQChannel,2);//抢占2,子优先级2,组2
}
//外部中断初始化程序
//初始化PA0,PA13,PA15为中断输入.
void EXTIX_Init(void)
{
	RCC->APB2ENR|=1<<2;     //使能PORTA时钟
	JTAG_Set(JTAG_SWD_DISABLE);//关闭JTAG和SWD   

//	GPIOA->CRL&=0XFFFFFFF0;//PA0设置成输入	  
//	GPIOA->CRL|=0X00000008;   
	GPIOA->CRH&=0X0FFFFFFF;//PA15设置成输入	  
	GPIOA->CRH|=0X80000000; 				   
	GPIOA->ODR|=1<<15;	   //PA15上拉
//	Ex_NVIC_Config(GPIO_A,0,RTIR); //上升沿触发
//	Ex_NVIC_Config(GPIO_A,13,FTIR);//下降沿触发
	Ex_NVIC_Config(GPIO_A,15,RTIR);//下降沿触发
//	MY_NVIC_Init(2,2,EXTI0_IRQChannel,2);    //抢占2,子优先级2,组2
	MY_NVIC_Init(2,1,EXTI15_10_IRQChannel,2);//抢占2,子优先级1,组2	   
}