wdyjz 发表于 2009-6-15 10:14:28

串口连续读取的数据帧分离的另一种方案

在串口数据篡位的解决方案中,cpubbs版主提出了采用队列的方式进行解决;可以利用其天然的FIFO优点,保证数据的不丢失;
为了利用这个FIFO的概念,可以充分借助移位寄存器和字符匹配的方式来解决这个数据帧的判别;
比如:单片机通过串口自动的连续上传数据帧;其格式为:
起始标志(0xFF0XFF)+data(256bytes)+结束标志(0x0D0x0A)
那么,就可以先用移位寄存器将接收到的字符串缓冲起来,再去判别。
这样,就提出了一种建立于队列和移位寄存器的双重保险的解决办法。

cpubbs 发表于 2009-6-16 09:49:26

:kiss:谢谢兄弟!

wdyjz 发表于 2009-6-16 10:35:43

1、上位机发一个命令读取下位机上传的若干字节的数据,是最简单的方法,不容易出错;
2、下位机自动连续的发送数据到PC;容易出现一定的数据混乱现象;这种情况下最好定义数据头和数据尾来做数据帧的分别;

myyugin 发表于 2009-7-15 17:14:30

感谢板主分享囉~
页: [1]
查看完整版本: 串口连续读取的数据帧分离的另一种方案