开始准备使用串口命令1,2分别打开关闭红灯,串口命令3,4分别打开关闭绿灯,串口命令5,6分别打开关闭蜂鸣器。测试过程中发现,会出现异常情况,将命令换成下面程序的特殊命令,解决此问题,求教为啥。 void USART2_IRQHandler(void) //串口2中断服务程序 {
if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET) //接收中断 { rx_data2=USART_ReceiveData(USART2);//(USART1->DR); //读取接收到的数据 switch(rx_data2) { case '(': LED1=0; 打开红灯 break; case ')': LED1=1;关闭红灯 break; case '&': 打开绿灯 LED2=0; break; case '*': LED2=1;关闭绿灯 break; case '$': BEEP=0;打开蜂鸣器 break; case '#': BEEP=1;关闭蜂鸣器 break; }
} USART_ClearFlag(USART2,USART_FLAG_TC); }
|