初级会员

- 积分
- 104
- 金钱
- 104
- 注册时间
- 2020-5-16
- 在线时间
- 38 小时
|
#include "exti.h"
#include "delay.h"
#include "led.h"
#include "key.h"
#include "beep.h"
//外部中断0服务程序
void EXTI0_IRQHandler(void)
{
delay_ms(10); //消抖
if(KEY1==1) //KEY1 按键
{
LED_G=!LED_G;
}
EXTI->PR=1<<0; //清除 LINE0 上的中断标志位
}
//外部中断1服务程序
void EXTI15_10_IRQHandler(void)
{
delay_ms(10); //消抖
if(KEY2==2) //KEY2 按键
{
LED_G=!LED_G;
}
EXTI->PR=1<<13; //清除 LINE2 上的中断标志位
}
//外部中断初始化程序
//初始化 PA0/PC13为中断输入.
void EXTIX_Init(void)
{
KEY_Init();
Ex_NVIC_Config(GPIO_A,0,RTIR); //中断入口PA0, 上升沿触发
Ex_NVIC_Config(GPIO_C,13,RTIR); //中断入口PC13,上升沿触发
MY_NVIC_Init(2,3,EXTI0_IRQn,2); //抢占优先级2,响应优先级3,中断编号0,中断分组2
MY_NVIC_Init(2,2,EXTI15_10_IRQn,2); //抢占优先级2,响应优先级2,中断编号2,中断分组2
}
|
|