我从串口屏接收数据然后在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;
}
}
|