用VC实现单片机与PC机串口通信的三种方法.pdf
文本预览下载声明
目叨化 勺 仪 葡 仪 霰 维普资讯
ZIDONGHUAYUYIQIYIBIAO 2005年第3期(总第119期)
文章编号:1001—9227(2005)03-0060—04
用VC++实现单片机与PC机 串口通信的三种方法
曾自强,王玉菡
(西安石油大学 西安,710065)
摘 要:在VC+十6.0开发平台上,本文介绍运用MSComm控件、WindowsAPI函数、CSerial类实现
单片机与PC机串口的通信。
关键词:串口通信;RS一232;RS一485
ABSTRACT:Inthispaper,weintroducethreewaystoimplementcommunicationbetweensinglechipand
PC,whichareMSComm control,WindowsAPIfunctionsnadCSeriM class.
KEYW0RDS:SeriM communication;RS一232;RS一485
中图分类号:TP368.1 文献标识码:B
事件驱动方法和查询方法。
0 引 言 1.1 MSComm控件的属性
在现代工业控制中,经常会遇到上位机和下位机 (1) CommPort属性:用于设置 串 口号。类型
的通信与控制问题。PC机和下位机进行通信的主要 short,值为 1~16,默认值为 1;
接口就是RS一232接口(一般电脑有两个串口COM1、 (2) Settings属性:用于设置数据传输速率、奇偶
COM2)。单片机与PC机最简单的接法是TxD—RxD, 校验、数据比特、停止比特参数。类型 CString,格式
RxD.-TxD,GND--GND。但是,串口还不能直接与单片 “BBBB、P、D、S”,BBBB为数据传输速率,P为奇偶校
机相连,必须转换 电平。我们可 以选用 MAX232和 验,D为数据位数,S为停止位数;
MAX485进行 电平转换。MAX232用于 RS一232C标 (3) RThreshold属性:用于设置要接收的字符
准;MAX485用于RS一485标准。RS一232C标准最高 数。类型short,当接收到字符后,接收缓冲区内字节个
数据传送速率为20kbit/s,最长传送电缆为 15米。RS 数达到或超过该阀值便会产生 OnComm事件,若该阀
一 485标准最高数据传送速率为 10Mbit/s,最长传送电 值为0则不会产生OnComm事件;
缆为1219米 。 (4) InputMode属性:用于设置传输数据的类型。
为了实现微机和单片机的串行通信,我们采用VC 类型long,0一文本,1一二进制;
++6.0开发平台来实现编程。VC++6.0是微软公 (5) InputLen属性:用于设置从接收缓冲区读取
司于 1998年推出的一种开发环境,以其强大的功能, 的字符数。类型shon。若设置InputLen为0,则将读取
32位面向对象的程序设计及 ActiveX的灵活性而受到 接收缓冲区中全部的字符数;
广大软件开发者的青睐,被广泛应用于各个领域。这 (6) InBuffersize属性:用于设置输入缓冲的大
里我们应用MSComm控件、WindowsAPI函数、CSeral类
小。默认值为 1024字节;
来实现微机和单片机的串行通信。 (7) Input属性:用于从接收缓冲区中读取数据
显示全部