開始準備使用串口命令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); }
|