串口通信之数据解析

串口通信数据是一位一位发送的,比如用串口调试助手发送200,下面接收到的就是‘2’,‘0’,‘0’,

在接收时,一般会在后面加一个标志位,比如200\,当收到'\'时,表示数据发送完毕。

void USART1_IRQHandler(void)  
{
bool biaozhiwei;
int i=0;
int buff[20]
res=USART_ReceiveData(USART1);
if(res!='\')
{
    buff[i]=res;
    i++
    biaozhiwei=0;  //表示没有读完
}
else
{
  biaozhiwei=1;
}
}
main()
{
  if(biaozhiwei==1)  
{
   buff[0]=.....
   buff[1]=...  
   .......//对数据进行处理
    *buff=0;//对buff清零,准备下一次接收
}
}


你可能感兴趣的:(stm32)