毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

单片机温度监控系统的设计 第9页

更新时间:2009-10-24:  来源:毕业论文
单片机温度监控系统的设计 第9页
将应用程序发送过来的数据作为一个数据流放在发送缓冲区中,通过通信协议进行分帧──切割──发送。在接收端,分帧的数据去掉帧头重新组合到接收缓冲区中,交给应用程序处理,发送过程的示意如图6.2.1,接收过程的示意图如图6.2.2。
单片机串口通信软件设计流程图
                        图6.2.3单片机串口通信软件流程图
PC接收数据软件设计流程    
图6.2.4 PC串口通信软件设计流程图

6.3 PC 上位机的软件设计
6.3.1 PC软件设计方法的选择
在开发PC上位机的通信程序中,人们常用的编程语言可分为3类:(1) 直接面向底层硬件的汇编语言。(2) DOS环境下的高级编程语言,如: C语言等。(3) Windows环境下的高级编程语言,如:VC++等。而在这3种方式中Windows环境下的串口编程以其设备无关性,可移植性以及界面友好等特征而得到广泛应用。同时在Windows操作系统已经占据统治地位的情况下,欲开发良好的通信程序,利用Windows环境下的高级语言已渐成为必然的选择。
开发Windows环境下的串口通信程序主要有以下2种方法:
(1) 利用Windows API(Application Program Interface)用户程序接口函数;
(2) 利用ActiveX控件;
后者的主要特点是简单易学,但前者的功能更为强大控制手段更为灵活。

6.3.2 PC软件通信方式的选择
在Win32环境下串行通信有两种:主要方式即同步方式,异步方式两种方式有各自的特点。在软件设计时应根据实际情况选择合适的方式。
(1)同步方式
在同步方式中,读串口的函数试图在串口的接收缓冲区中读取规定数目的数据,直到规定数目的数据全部被读出或设定的超时时间已到时才返回。例如:(以C++ Builder编程语言为例下同)
……………………
……………………
COMMTIMEOUTS cto;
int timeConstant, timeMutiplier;
cto.ReadTotalTimeoutConstant = timeConstant; //设置总超时常数
cto.ReadTotalTimeoutMultiplier = timeMutiplier; //设置总超时系数
SetCommTimeouts(m_hFile,&cto); //超时设置
…………………………
…………………………
ReadFile (hComport,inBuffer,nWantRead,&nRealRead,NULL);//读串口
…………………………
…………………………
COMMTIMEOUTS结构用于设置超时,指定读写函数的等待时间
在ReadFile 函数中hComport 为待读串口句柄;inBuffer 为输入缓冲区大小;nWantRead 为每次调用ReadFile 时,函数试图读出的字节数;nRealRead 为实际读出的字节数;最后一个参数值NULL 代表ReadFile将采用同步文件读写方式。
(2)异步方式
异步方式中,利用Win32 的多线程结构,可以让串口的读写操作在后台进行,而应用程序的其它部分在前台执行例如:
……………………
……………………
……………………
CreateFile(lpszPort, //打开串口
GENERIC_READ|GENERIC_WRITE,
0,
0,
……………………
……………………
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED, //允许异步操作
0);
OVERLAPPED lpOverlapped;
COMMTIMEOUTS cto;
int timeConstant, timeMutiplier;

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

单片机温度监控系统的设计 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。