新手上路
- 积分
- 39
- 金钱
- 39
- 注册时间
- 2022-1-13
- 在线时间
- 7 小时
|
1金钱
中断服务程序,按下key0后全局变量a=0,按下key1后全局变量a=1
void EXTI3_IRQHandler(void)
{
NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
delay_ms(10);
if(KEY1==0)
{a=1;}
EXTI_ClearITPendingBit(EXTI_Line3); }
void EXTI4_IRQHandler(void)
{
delay_ms(10);
if(KEY0==0)
{a=0;}
EXTI_ClearITPendingBit(EXTI_Line4);
}
主程序,当屏蔽掉while(a==0) {LED0=!LED0;delay_ms(500);}后按下key0单片机卡死,然后按key0key1都没反应
int a;
int main(void)
{
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
LED_Init();
BEEP_Init();
EXTIX_Init();
while(a==1)
{LED1=!LED1;delay_ms(500);}
while(a==0)
{LED0=!LED0;delay_ms(500);}
}
这是什么问题?
|
|