新闻中心

EEPW首页>嵌入式系统>设计应用> Windows环境下PC机与单片机串行通信的实现

Windows环境下PC机与单片机串行通信的实现

作者: 时间:2012-02-15 来源:网络 收藏

协议可知,数据包中的数是以十六进制字符表示,因此在发送数据时,对数据还需做一定的处理。即先将需要发送的字符串转换为相应的十六进制字节串,然后再经COleVariant类将其转换为通用的VARIANT型变量,再通过控件的SetOutput()函数把数据从串口发出去。以发送1帧数据为例,其的主要代码如下:

29.jpg

至于数据的接收,我们通过让MSComm控件响应OnComm事件来完成,通过ClassWizard加入其对事件的响应,当有数据到达时便会通知 OnComm()函数去处理,从而数据的异步接收。由于接收的数据为变体数据VARIANT,因此,还必须做一些处理,具体代码如下:

30.jpg

根据以上的方法,我们无需花很大的工作量,就能编写出一个功能较强的串口程序。

4 结 语

按以上方法编写的程序在XP下由Microsoft VisualC++6.0编译通过,并在机与遥控CCD相机控制子系统的过程中获得了满意的效果。同时通信的这种软、硬件实现方法也可以用于机与其他外设之间的通信,实用范围非常广泛。

参考文献
[1]希望图书创作室.Visual C++6.0技术内幕[M].第5版.北京:北京希望电子出版社,1999.
[2]何立明.中级教程[M].北京:北京航空航天大学出版社,1999.
[3]啸峰工作室.在VCA++中利用ActiveX控件开发通信程序[DB].http://www.gjwtech.com/serialcomm.htm,2002.



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭