上节讲到GPIO口能够作为外部中止运用,今日咱们就运用探究套件上的USER按键,翻转LED1灯。外部中止叙说如下图所示,USER KEY连到的是PC.1所以运用的是EXTI1中止线,和STM32的中止方法比较挨近。
首要咱们把KEY的GPIO设置为输入中止使能
GPIO_Init(KEY_PORT,KEY_PIN,GPIO_Mode_In_FL_IT);
然后装备中止1为下降沿低电平触发
EXTI_SetPinSensitivity(EXTI_Pin_1, EXTI_Trigger_Falling_Low);
设置中止的优先级
ITC_SetSoftwarePriority(EXTI1_IRQn, ITC_PriorityLevel_1);
开大局中止
enableInterrupts();
最终咱们到中止文件里边STM8L15X_it.c设置
INTERRUPT_HANDLER(EXTI1_IRQHandler, 9)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
GPIO_ToggleBits(GPIOE, GPIO_Pin_7);
Delay(0xFFFF);
EXTI_ClearITPendingBit(EXTI_IT_Pin1);
}