最近笔者要要实现win10下的一个串口工具,要想多少年前开发的串口工具还是vc++6.0下开发的,把之前vc++6.0的工程转换到VS2015下,报出各种问题,这些问题就不呈现给大家看了,总之都是心酸泪,既然之前的工程不能用,那就重新来吧,首先想到了Mscomm控件。下面把它的步骤简要说明下:
MFC添加串口Mscomm控件
1.下载mscomm.ocx控件
2.把mscomm.ocx放到c:WindowsSysWOW64,需要管理员身份
3.用管理员身份打开命令提示符,输入:
regsvr32 c:WindowsSysWOW64mscomm32.ocx
然后提示
DLLRegisterServer in C:WINDOWSSysWOW64mscomm32.ocx succeeded
就可以使用需要这个控件的程序了!
4.添加串口变量
对话框上右键 插入Active X控件,选择 Micsrosft Commuunication Control,version 6.0 ,之后界面上有一个类似于电话的控件图标,把ID号改为 IDC_MSCOMM,右键这个控件 添加变量,命名为m_mscomm,(此时会新建mscomm的头文件和源文件)。
到这一步基本就成功了,但是这里有个坑,有个坑,有个坑,坑的我要砸电脑,如果你编译的是32位应用,这个没问题,如果是64位系统,那恭喜你中招了,这个控件它在64位应用上用不了。而笔者恰恰编译的是64位应用的,哎,又是一把心酸泪。
怎么办,难道就这么放弃了吗?如果放弃了,那还算码农吗?
我回想到vc++6.0工程下的CSerialPort类,不管三七二十一,先把它们拷贝过来用起来,已编译,好多错误,不过仔细一看,还好不是致命的错误,小小改动下。
改成下面图中的代码就可以,类似的还有几处,照着改就可以了。
改好了,激动人心的时刻到了!编译OK了!
下面的工作就比较好展开了。
1.根据CSerialPort类中WM_COMM_RXCHAR建立一个消息出来函数,用于接收串口数据。
2.设置串口的串口号、波特率、停止位、校验位
经过这两步,串口开发基本OK了,如果你感兴趣,联系我们,将把我改好的CSerialPort类分享给你。
全部0条评论
快来发表一下你的评论吧 !