思路:使用PA2作为外部中断检测PWM的上升沿和下降沿。观察相关寄存器的值,PA2上发生了中断(PD2是为1),但是始终进入不了 EXTI2_3_IRQHandler函数,不知什么原因。程序设置如下:
//=============================================================================
// void GPIO_exit_init(void)
// Description:
//
// 1、配置PA2/TIM2_CH3为外部中断
//
// Calls:
// Called by:
// Input:
//
// Output:
// Return:
// Others:
//=============================================================================
void GPIO_exit_init(void)
{
// 设置引脚PA2为输入模式,并使能上拉功能
gpio_mode_set(GPIOA, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP,GPIO_PIN_2);
// 设置中断线:GPIOA的PA2
syscfg_exti_line_config(EXTI_SOURCE_GPIOA,EXTI_SOURCE_PIN2);
exti_init(EXTI_2, // 外部中断通道:2
EXTI_INTERRUPT, // 中断类型:外部中断
EXTI_TRIG_BOTH); // 触发类型:上升沿和下降沿都触发
// 使能PA2中断事件
exti_event_enable(EXTI_2);
// 使能外部中断
exti_interrupt_enable(EXTI_2);
} // end of GPIO_General_init() function
void EXTI2_3_IRQHandler(void)
{
delay_decrement(); // 测试用
} |
中断之后要清楚