新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 一种基于状态机的串口通信协议的设计与实现

一种基于状态机的串口通信协议的设计与实现

作者: 时间:2012-05-18 来源:网络 收藏

3

下位机采用ATMEL公司的AVR系列单片机ATmega168作为其核心控制单元;上位机软件采用Delphi 7.0编写,Delphi 7.0是Borland公司开发的Windows平台的面向对象的快速应用程序开发工具。本上位机程序采用Delphi开发,主要考虑到Delphi易于多线程编程。另外,Delphi开发程序的简单、高效,也是上位机软件选择其作为开发工具的重要原因。

包括发送与接收两部分。在本系统中,下位机负责发送数据,上位机负责接收数据,而另一种情况:下位机接收、上位机发送,其处理方法与前面一种相似。因此,这里仅介绍下位机发送数据、上位机负责接收数据的

下位机发送程序由于不考虑机,实现较为简单,其示例代码如下:

j.jpg

c.JPG

上位机软件中,当接收到数据时,控件会触发一个事件,在事件处理代码中应及时将收到的数据存入接收冲区,同时不应该把串口协议接收部分的代码放置在此事件中,否则后面到来的数据可能因为前面先到的数据没有及时处理完毕而被冲掉,导致数据丢失。因此,在上位机软件运行时,应该启动一个Windows线程,用于不断检测接收缓冲区是否为空,不为空时则对缓冲中的数据进行处理,创建一个名为TBufferThread的线程类:

e.JPG

f.JPG

数字通信相关文章:数字通信原理


通信相关文章:通信原理




评论


相关推荐

技术专区

关闭