vs2012使用mscomm串口通讯方法及相关问题

来源:互联网 发布:淘宝访客平均价值 编辑:程序博客网 时间:2024/06/04 17:59
1.下载MSCOMM控件:

http://download.csdn.net/download/sybil_w/9771706

包含四个文件:

MSCOMM.SRG

MSCOMM32.DEP

MSCOMM32.oca

mscomm32.ocx


2.注册MSCOMM控件:

复制上述四个文件到系统盘的C:\Windows\System32(WIN7系统)。

点击win + r(或在开始菜单内输入cmd,回车)

regsvr32 C:\Windows\System32\mscomm32.ocx  


3.修改注册表:


点击win + r,打开“运行”

输入regedit后回车,打开注册表管理器

在HKEY_CLASSES_ROOT项下的Licenses项

添加主项“4250E830-6AC2-11cf-8ADB-00AA00C00905”,并将键值修改为“kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun




4.在VS2012中插入MSCOMM控件


1).在对话框上右键,点击“插入ActiveX控件”


2).在选择界面中找到 Microsoft Communication Control,version 6.0


控件界面显示为:


5.添加控件成员变量及响应事件

1).在控件图标上右键,点击添加变量:设置如图


2).在控件图标上右键,“添加事件处理程序”,设置如图



6.mscomm初始化及使用

mscomm初始化相关参数及使用,相关博客说明很多。这里主要备注以下几点:

1).put_InBufferSize()用于设置接收缓冲区的大小,当接收的数据超过缓冲区大小时,不会截断,而是继续往后存,只不过存的不在已设置好的安全缓冲区的范围内。

2).当使用get_Input()读取缓冲区数据时,会把安全缓冲区及后面多出来的数据部分,一起读进来。

3).释放缓冲区时,只释放安全缓冲区部分的内存,超过的部分不操作,需要自己手动处理。

4).mscomm的事件处理程序,与btn的响应事件类似。当控件接收数据时,缓冲区会有数据,通过判断缓冲区的事件类型,进行接收等操作。如果发送的速度比处理的速度快,缓冲区内就会包含很多条的数据。这时读取缓冲区数据后需要自己进行处理。

以上均为个人理解,有错误之处,烦请告知,本人必当虚心学习。

0 0
原创粉丝点击