小弟从CC2530单片机串口每次发送4个字符给STM32,一个字符一个字符发送。每隔8s发送一次。STM32这边定义一个变量dat接收字符,然后存到数组里,然后用数组中的元素来处理数据。可是问题来了,有时接收到的数据存放的顺序被打乱了,导致我数据处理的结果也不对。有什么方法可以改进一下吗??
求大神帮忙,这个问题困扰我好几天了~
[mw_shl_code=c,true]dat= USART_ReceiveData(USART1);//接收数据
USART1_buf[USART1_bufcnt ++] = dat;
.......
.......
if(USART1_bufcnt == 4)
{
USART1_bufcnt = 0;
temp = (USART1_buf[0] - 48) * 10 + (USART1_buf[1] - 48);
hum = (USART1_buf[2] - 48) * 10 + (USART1_buf[3] - 48);
}[/mw_shl_code]
|