在VS中使用MFC经常使用mscomm串口控件,简单、方便,但必须首先对控件进行注册(注册方法请详见下位)。但在Win10系统中,会出现无法注册的问题,此文件解决办法也很简单:
-------------------------------------------------------------------------------------------------------
怎么办呢?把四个文件(MSCOMM.SRG MSCOMM32.DEP MSCOMM32.oca mscomm32.ocx)复制到一个自定义的文件夹下,然后“以管理员权限”打开命令提示符,在CMD中将文件目录转到你自定义的文件夹下(在命令提示符中转文件目录的方法:点击打开链接),在后面输入regsvr32 MSCOMM32.ocx 就可以了~
(转载自:https://blog.csdn.net/zhuyongxin_6688/article/details/78553153?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param)
-------------------------------------------------------------------------------------------------------
常用的注册方法如下:
转载自:https://blog.csdn.net/sybil_w/article/details/60575398
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的响应事件类似。当控件接收数据时,缓冲区会有数据,通过判断缓冲区的事件类型,进行接收等操作。如果发送的速度比处理的速度快,缓冲区内就会包含很多条的数据。这时读取缓冲区数据后需要自己进行处理。
以上均为个人理解,有错误之处,烦请告知,本人必当虚心学习
https://blog.sciencenet.cn/blog-3377553-1256750.html
上一篇:
Categories_of_algorithms(non_exhaustive),总结很全面下一篇:
[转载]ansys的前处理软件汇总