用vc实现pc机与单片机的通信

用vc实现pc机与单片机的通信

ID:37986672

大小:44.50 KB

页数:5页

时间:2019-05-23

用vc实现pc机与单片机的通信_第1页
用vc实现pc机与单片机的通信_第2页
用vc实现pc机与单片机的通信_第3页
用vc实现pc机与单片机的通信_第4页
用vc实现pc机与单片机的通信_第5页
资源描述:

《用vc实现pc机与单片机的通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用VC实现PC机与单片机的通信王荣鸽白连平摘要介绍了Windows98环境下利用VisualC++6.0的MSComm控件实现微机与微机及微机与单片机通信程序设计方法,并完整给出了微机、单片机的通信程序实例。关键词串行通信VisualC++6.0MSComm单片机中图分类号:TP311文献标志码:ARealizationofCommunicationsbetweenPCandSinglechipwithVCWang,RonggeBai,LianpingABSTRACT:Thispaperintroducesthedesigningmeanse

2、sbywhichacomputercancommunicatewithacomputerorasinglechipbyMSCommofVisualC++6.0inthecircumstanceofWindows98,Andfullyprovidestheprogramexamplesofcomputercommunicationandsinglechipcommunication.KeyWords:serialcommunicationsVisualC++6.0MSCommsinglechip在工业检测及自动控制系统中,微机与微机、微机与单片

3、机之间经常需要进行数据交换,串行通信是主要的通信手段,它高效、方便,并遵循统一的国家标准。VisualC++6.0作为一种强大的开发工具几乎在Windows软件开发的任何领域都得到广泛的应用。一般用VisualC++6.0开发串行通信程序有二种方法:一是利用Windows的通信API函数;另一种是采用VisualC++6.0标准控件MSComm来实现。第一种方法需要声明及调用许多API函数,十分烦琐。第二种方法实现简便,且可满足一般情况下通信要求。本文利用VisualC++6.0提供的MSComm通信控件编写较简单的VC程序,完成了微机与单片

4、机之间的RS-232串行口通信。1、硬件结构PC微机的COM口接口电平为RS-232标准,若两台微机间通信,只需简单地直接连接(TXDRXD)及地(GND)三根线。若微机与单片机通信,由于单片机UART为TTL电平,故需将RS-232电平与TTL电平转换,可直接使用MAX232,MC1489等实现电平转换功能。2、串行通信控件MSComm在VC环境下单击Project菜单,从中选择AddtoProject,在弹出的对话框中单击ComponentsandControls选项,然后在弹出的对话框中再单击RegisteredActiveXContr

5、ols选项。在列表中选择MicrosoftCommunicationsControl(version6.0),形状为带有红色底座的黄色电话机。单击Insert按钮,确认后,会出现一个ConfirmClasses对话框,其中列出了该控件的类名(CMSComm)、头文件名(MSComm.h)、执行文件名(MSComm.cpp)。关闭此对话框,在程序主界面的控件列表中,可以看到该通信控件已被加入,拖动该控件就可以将其放入程序中。 MSComm控件提供了功能完善的串口数据的发送和接收功能,MSComm控件具有两种处理方式:1、事件驱动方式:由MSCo

6、mm控件的OnComm事件捕获并处理通信错误及事件;2、查询方式:通过检查CommEvent属性的值来判断事件和错误。 MSComm控件的通信功能实现,实际上是调用了API函数,而API函数是由Comm.drv解释并传给设备驱动程序执行的,对于VC程序开发者只需知道MSComm控件的属性和事件的用法即可以实现串口的操作。  以下是MSComm控件的主要属性和方法:  1)CommPort:设置或返回串行端口号,其取值范围为1~99,缺省为1。  2)Setting:设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。如:Mscomm.S

7、etting="9600,N,8,1"。  3)PortOpen:打开或关闭串行端口,格式为:MSComm.PortOpen={TRUE

8、FALSE}。  4)5InBufferSize:设置或返回接收缓冲区的大小,缺省为1024字节。  5)InBufferCount:返回接收缓冲区内的等待读取的字节个数,可通过设置该属性为0来清除接收缓冲区。  6)Rthreshold:该属性为一阀值,它确定当接收缓冲区内字节个数达到或超过该值后就产生代码为MSCOMM_EV_RECEIVE的OnComm事件。  7)InputLen::设置或返回接收缓

9、冲区内用Input读入的个数。若取0,则INPUT读取整个缓冲区的内容。  8)Input:该属性表示从接收缓冲区移走一串字符。类型:VARIANT。  9)Out

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。