WEB开发网
开发学院软件开发VC 在VC++6.0中利用串行通信控件 阅读

在VC++6.0中利用串行通信控件

 2009-10-24 20:31:25 来源:WEB开发网   
核心提示:目前,在用计算机进行数据传输时,在VC++6.0中利用串行通信控件,常用的是串行通信方式,在Visual C++的编程中,n,8,既可以用Windows API函数进行串行通信编程,也可以利用环境自带的控件进行编程

目前,在用计算机进行数据传输时,常用的是串行通信方式。在Visual C++的编程中,既可以用Windows API函数进行串行通信编程,也可以利用环境自带的控件进行编程。利用 API函数编写实际应用程序时,往往要考虑多线程的问题,这样编出来的程序不但十分庞大,而且结构比较复杂,继承性差,维护困难。但是使用串行通信控件就相对简单一些,而且功能强大,性能安全可靠。

本文以Microsoft Communications Control(version 6.0)为例,介绍串行通信控件在VC++中的使用方法。

嵌入通信控件

使用串行通信控件前,首先要进行系统注册。

1、在建立新工程时,将ActiveX Controls复选框选中,表示本程序支持ActiveX 控件。

2、单击Project菜单,从中选择Add to Project,在弹出的对话框中单击Components and Controls选项,然后在弹出的对话框中再单击Registered ActiveX Controls选项。

3、在列表中选择Microsoft Communications Control (version6.0),形状为带有红色底座的黄色电话机。单击Insert按钮,确认后,会出现一个Confirm Classes对话框,其中列出了该控件的类名(CMSComm)、头文件名(MSComm.h)、执行文件名(MSComm.cpp)。

关闭此对话框,在程序主界面的控件列表中,可以看到该通信控件已被加入,拖动该控件就可以将其放入程序中。

编写通信程序

通信控件的工作原理类似于中断方式,当有通信事件发生时,如发送、接收数据,就会触发OnComm事件。在OnComm事件的处理函数中调用 GetCommEvent()函数,由该函数的返回值即可确定是什么类型的事件,并由此做出相应的处理。

下面以接收处理串口的GPS信号为例,说明该控件在编程中的具体应用。

利用MFC生成一个基于对话框的应用程序,对话框中的控件及其相应的消息与响应函数如下表所示。

控件名称 控件 ID 对应变量
通信控件 IDC_MSCOMM m_Comm
接收按钮 IDC_BUTTON_RECEIVEGPSDATA OnbuttonStartreceivegps()
GPS信号显示 IDC_EDIT_COMDATA m_comdata
停止接收按钮 IDC_BUTTON_ENDRECEIVEGPSDATA OnbuttonEndreceivegps()
设置控件各部分属性:

CommPort:1;

DTREnable:1;

InBufferSize:4096;

EOFEnable:TRUE;

Handshaking:nohandshaking;

InputMode:1-Binary;

NullDiscard:False;

Rthreshold:250;

RTSEnable:False;

Settings:9600,n,8,1;

Sthreshold:0。

1 2  下一页

Tags:VC 利用 串行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接