关于单片机串口发送和接收问题:连续发送过来的数据如何接收?

来源:百度知道 编辑:UC知道 时间:2024/05/26 17:21:48
例如,从另外一设备连续发送来100个数据,如何接收这么多的数据,我的疑问是,单片机接收这边根本就没有时间歇息,接收到一个数据后总会停顿处理下,但是就是因为这个停顿的时间会不会使得第二个及以后的数据的前面位信息丢失了呢?

不会的了 设备与设备之间要有一定的通信协议才能有良好的通信过程 比较明显的就是要配置一样的波特率 如用9600的波特率 那代表1S发送9600位也就是9600/8=1200个字节 也就是1S/1200约为1MS左右的时间发送字节 单片机处理速度都是微秒级别的 在接收到第一个字节后完全有时间处理再接收 不过时间不能太长 另外串口接收用中断接收比较保险 中断程序中只做存储数据很简单的判断 接收完整后再处理所有的数据

那就要看你另外设备的处理方法了。可以先判断单片机是否忙,如果忙就等待再发。

两个速度不同的设备进行异步通信,是需要缓冲的。

接收周期要和发射周期同步。否则会丢失的