MFC串口通信,MSCOMM控件

我写了一个串口通信的程序,用的是MFC中的MSCOMM控件实现的,现在遇到一个问题,我需要打开的端口个数可能超过16个,但是MSCOMM控件能打开的端口号范围1~16,那么我该怎么解决这个问题,使得我可以打开多于16个端口。

控件只支持端口号范围1~16。MSCOMM控件已经过时了,MFC编程也有点过时,现在微软的应用框架已经到WPF了,编写用户界面更加方便,建议更换。

串口通信软件给一个作为参考,格西烽火界面做的不错,功能也到位。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-21
需要帮你写程序吗

MFC 使用MSCOMM控件(串口通讯)频发丢包现象??
1.m_cComm.SetInBufferSize(1024);\/\/设置输入缓冲区 加大输入缓冲区,以防数据溢出丢失。2.m_cComm.SetRThreshold(1);\/\/每当接收缓冲区有1个字符则接收串口数据 加大阈值,不需要有一个字符就接收数据,可以多接收一些字符,在接收数据 3.把数据接收程序放到单独的线程里。用afxbeginthread函数 ...

MFC编写的上位机要实现串口通信,要添加一个串口控件,可是在控件里找不...
建立首先打开VC 6.0,建立一个基于对话框的MFC应用程序:PG500。在对话框中创建通信控件,若Control工具栏中缺少该控件,可通过菜单Project --> Add to Project --> Components and Control插入即可,再将该控件从工具箱中拉到对话框中。此时,你只需要关心控件提供的对Windows 通讯驱动程序的API 函数...

mfc含 串口控件mscomm的程序怎么打包成软件
串口是独占模式的,如果一个串口(比如COM1)被一个软件打开,其它的软件就不能再打开该端口。 如果你希望在你的软件与串口通信时,用其它的软件监控查看串口的数据,应该用AccessPort . 这个软件比较特殊,是不占用端口的。

问题描述如下: MFC基于Dialog,编写MSComm串口程序。 主对话框 A 有一...
1,在b窗体上进行打开串口,发送数据、接收显示等一系列动作,a就是个启动界面,跟任何业务逻辑没有关系。2.如果目前是a负责打开串口,发送,接收,但要在b上显示,那a接收到数据后,通过a向b发送自定义消息,b来显示,或者a调用b的某个函数,把值传过去显示。因为如果a窗体用控件对串口进行了打开,...

MFC MSCOMM 全局化
1:你这是个对话框程序,你在对话框上面建立了TAB页,其中串口部分是要一直用到的,其余部分是要分开的。那么你可以在一个TAB页下建立让两个dlg显示。你需要调整下两个对话框的位置。2:头文件互相包含,保证你可以相互调用其中间的函数。问题太泛了,你先做,遇到具体问题的话再追问就行了。

MFC中MSComm控件的oncomm在发送数据和接收数据的时候都不触发
m_ctrlComm.SetRThreshold(1);\/\/参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据n的OComm事件 这一句是不是没有设置?

vs2017 mfc中怎么添加MSComm控件?
vb6.0的“工程”菜单下面选择“部件”子菜单,在控件栏选择:microsoft comm control6.0 就可以在工具箱里面有该控件了

为什么串口通讯用MSComm控件时变量类型总是COXO?
新的版本是 .net 里的 serialport 组件 老的 MSComm 是配套 VC VB 6,也就是 vs 98

MFC中的mscomm控件怎么接收缓冲区中的问题
if(m_commCtrl.GetCommEvent() == 2) \/\/事件值为2表示接收缓冲区内有字符{CByteArray bytes;COleSafeArray dataGet;try{dataGet = m_commCtrl.GetInput(); \/\/读缓冲区long len = dataGet.GetOneDimSize(); \/\/得到有效数据长度if(len >= 6)\/\/对数据大小判断,我这里示例是6,你也可以不要...

请问怎么在VC++ 的mfc中使用mscomm控件啊??
如上图,点insert,点OK,点结束:你创建一个对话框,将那个电话图标直接拖到对话框里,类向导会自动给你加入mscomm类,你直接用里边的函数就可以了。如还不行,请百度“activex控件注册”,重新注册你的mscomm控件,如不行,更换mscomm版本,如还不行,请重新安装visual c++....

相似回答