11
第4期2001年11月
微 处 理 机
MICROPROCESSORSNo.4Nov.,2001
一种基于VC+
+
6.0的串行通信实现方案
席晓平 郑林华 韩方景
国防科技大学电子科学与工程学院(长沙410073)
摘 要 介绍了在VC++6.0下应用通信控件开发串口通信程序的方法,并给出了一个实际工程中的示例程序。
关键词 通信控件 串行通信
AnImplementingSchemeofSerialCommunicationBasedonVC+
XiXiaoping,etal
ElectronicScience&EngineeringInstitutionofNUDT,changsha410073
+
6.0
Abstract ThispaperintroduceanapproachtodevelopserialportcommunicationprogrambyultilizingcommunicationcontrolsbasedonVc++6.0,andalsogivesanexampleprograminapracticalengineering.
Keywords communicationcontrols,serialcommunication
Settings设置串口通信参数,类型Cstring,依次为波特率、奇偶校验、数据有效位数、停止位。
InBufferSize设置接收缓冲区大小。OutBufferSize设置发送缓冲区大小。InputMode设置接收数据的类型,0表示文本类型,1表示二进制类型。
Rthreshold设置接收到几个字符触发On-Comm事件。
InputLen设置从接收缓冲区读取的字节数。SThreshold设定触发OnComm事件前,发送缓冲区的最小字符数。
对应上述属性,MSComm控件均提供了相应的操作函数,具体可参考MSDN中该控件的相关介绍,此处不再详述。
1 引 言
随着计算机的广泛普及,在实际工作中经常需要通过计算机的RS-232串口与外部设备通信,采集如温度、压力等数据或传送数据。在VisualC++中编制串行通信程序一般有三种方法:(1)调用Mi-crosoftWin32应用程序接口(API)提供的串行通信
函数;(2)利用VC++的MFC类库实现;(3)用Ac-tiveX通信控件开发串口通讯程序。前两种方法相对比较复杂,涉及到多线程等概念,对编程者要求较高。而ActiveX控件容易掌握,利用该控件可以快速高效地开发出功能强大的串行通信程序。
2 MSCom控件简单介绍
通信控件有二种工作方式,一种是查询方式,这种方式由编程者读取CommEvent的值并处理所发生的事件;另一种是事件驱动方式,工作原理类似中断方式,当有通信事件发生时(如发送数据、接收数据等),就会触发控件的OnComm事件,一般可在该事件的处理函数中进行各种应用处理,实现相应功能。
MSComm控件常用属性有:CommPort选择串口号。
3 一个实用的串口通信示例程序
3.1 应用背景
在某工程应用中,要求利用计算机读入指定类型的位图文件,提取出颜色信息,通过串口传送给单片机,由单片机处理接收到的图像数据。3.2 程序功能及系统流程
主机读取指定的图像数据,首先向从机(单片机)发送初始请求命令;从机准备好接收数据后向主
,,
0实现上位机与P LC的串行通信ImplementingofSerfalCommunicationBetweenPCandPLCBased...2.3串口通信方案 应用VC++开发串行通信通常采用以下几种方法: ①利用WindowsAPI...
一种基于 VC 的串口通讯新方法刘学军(西安武警工程学院 通信工程系,陕西 西安 ...2 实现方案由微软开发的通用串口控件 MSCOMM32.OCX 实现串行通讯十分方便,该控件...
基于VC_6_0的PC机与PLC串口通信的实现及其应用 (1)_电子/电路_工程科技_...1 Struc ture of the system 2 通信方案选择 S7 200系列 PLC 支持多种通信...
基于VC++6.0的串行通信设计与实现基于VC++6.0的串行通信设计与实现隐藏>> 维普资讯 http://www.cqvip.com 第 l 9卷 第 2期 20 0 3年 4月 黄 石 ...
用VC 6.0 实现串行通信的三种方法 2004-2-8 加入 来自天极论坛 作者 yhww 1 条评论 点击 2964 次 摘要: 本文介绍了在 Windows 平台下串行通信的实现机制,...
基于VC的串口通信的实现1 隐藏>> 3:" 福 建 电 脑 !""#年第 $% 期 基于 !" 的串口通信的实现胡春燕 !上海理工大学 计算机工程学院 上海 !"""#$ ...
基于VC++6.0的串行通信设计与实现_电子/电路_工程科技_专业资料。基于VC++6.0的串行通信设计与实现维普资讯 http://www.cqvip.com 第2 8卷 20 0 8年 ...
基于VC_6_0的串行通信设计与实现基于VC_6_0的串行通信设计与实现隐藏>> 第 卷第期年月 黄 石 高 等 专 科例〕 学 校 学 报卫 加 基于 的 串行 ...
本文就 Win32 环境下 基于 VC + + 开发串口通信四种方式的编程问题展 开讨论 , 最后给出用其中的一种方法 - MSComm 控件实现深海底自动采矿系统中水下工控机...
对几 种方案的 比较 ,提出 了一种 基于MCCeiPrF srlota 类的有效的解决方案... 用VC 6.0实现串行通信的... 9页 免费 基于VC++6.0串口通信开发... 4...
热门文档