我從串口屏接收數據然后在while(1)里面 switch(num_flag)
如果屏幕只是一個一個的返回數據 例如 0x30 這樣倒沒問題,到了屏幕返回一連串數據的時候就出問題了, 現在屏幕返回一個0X45 和一串字符串,我想用0x45作為flag進入CASE事件,字符串保存在buff里面, 可是字符串里面可能有其他數值與其他CASE 一樣,老是出錯,請問大佬們應該怎么解決
void UART5_IRQHandler(void)
{
char i;
char Res;
if(USART_GetITStatus(UART5, USART_IT_RXNE) != RESET)
{
//USART_ClearITPendingBit(UART5, USART_IT_RXNE);
buff5[counter5]=USART_ReceiveData(UART5);
counter5++;
Res=USART_ReceiveData(UART5);
num_flag=Res;
}
}
|