串口通信数据是一位一位发送的,比如用串口调试助手发送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清零,准备下一次接收
}
}