Arm年度技术研讨会

mfc串口通信程序(mfc串口通信类)

本篇目录:

使用MFC(单文档)编的串口通信程序,编译时没有错误,最后执行时,总是提...

1、但是单独打包EXE文件,如果不选静态链接MFC库,编译器不会将你程序中所用到的MFC库打包到exe文件中,自然会出错了 记得打包EXE时选静态链接就OK 用了静态链接MFC库连接exe。在VC外面可以运行了。

2、解决的办法是下载mscomm3ocx,放到相应的目录下,并注册。在开始--运行输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。

mfc串口通信程序(mfc串口通信类)-图1

3、根据您提供的信息,可能是MFC程序使用MSCOM串口控件接收数据时出现了错误,具体原因需要参考程序代码和运行环境。

4、MFC框架下,你将文档类作为APP的成员或者extern引用是错误的,这样不能正确获取类运行实例。在View视图类,直接GetDocument()即可获取文档类指针。

5、你调用ReadFile函数,一次接收多少字节,取决于两个因素:(1)串口缓冲区实际有多少 (2)你打算取多少 ReadFile()函数的第三个参数表示你打算取多少,但如果你想去1024个,串口缓冲区只有500个,那你最多只能取500个。

mfc串口通信程序(mfc串口通信类)-图2

6、char bt=*(char*)(rxdata+k);//字符型 你在这里加个断点,调试看看,接收到的rxdata数据对不对。

用VC++MFC中的MSCOMM控件编写的串口通信程序,在自己的电脑上运行很正常...

控件只支持端口号范围1~16。MSCOMM控件已经过时了,MFC编程也有点过时,现在微软的应用框架已经到WPF了,编写用户界面更加方便,建议更换。串口通信软件给一个作为参考,格西烽火界面做的不错,功能也到位。

,在b窗体上进行打开串口,发送数据、接收显示等一系列动作,a就是个启动界面,跟任何业务逻辑没有关系。

mfc串口通信程序(mfc串口通信类)-图3

错误号: & Err.Number, vbOkOnly + vbCritical, 串口错误End IfExit SubResume NextEnd Sub在窗体上放一个MSComm1的控件,然后在程序中就可以使用上面的代码了。这段代码演示了一个无效串口号的运行效果。

如何用MFC使用API函数来做串口通信

1、建立首先打开VC 0,建立一个基于对话框的MFC应用程序:PG500。

2、又是COM3又是COM4,串口成员变量用全局的。另外先把发送搞定再处理接收,用串口监视软件监视发送数据。一般API是多线程通信的,打开串口以后会创建监视线程,监视缓冲区的数据,看你的好像没有。。

3、位下串口通信程序可以用两种方法实现:利用ActiveX控件;使用API 通信函数。使用ActiveX控件,程序实现非常简单,结构清晰,缺点是欠灵活;使用API 通信函数的优缺点则基本上相反。

4、在C++中,串口通信的实现需要用到Windows API函数。

MFC串口通信程序(基于Vc++及Serialport类)

1、在开始--运行输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。要为mscomm3ocx,请在 MS-DOS提示符处键入以下命令:c:\regsvr32 mscomm3ocx ,表示在C盘注册mscomm3ocx。注册成功后会有一个提示框。

2、return 0这句就执行不到了,int CSDICommView:OnCreate(LPCREATESTRUCT lpCreateStruct) 的建议就“建立空文档失败”//m_MSComm.GetInput();//先预读缓冲区,以清除残留数据 这句 可以放在真正读数据之前。

3、这样一般就可以了。应该是你的程序有等待读取或写入串口的线程没有结束,所以没有正确关闭串口。

4、bool CTSholding=false;if(mscomm.GetCommEvent()==3){ if(CTSholding = false) CTSholding = true;else CTSholding = false;} 这样就可以用CTSholding的值来判断CTS引脚电平的高低了。

MFC编写的上位机要实现串口通信,要添加一个串口控件,可是在控件里找不...

建立首先打开VC 0,建立一个基于对话框的MFC应用程序:PG500。

解决的办法是下载mscomm3ocx,放到相应的目录下,并注册。在开始--运行输入cmd,调出‘命令提示符’窗口,然后再执行regsvr32命令。

硬件连接问题:检查串口是否连接正确,波特率、数据位、停止位、校验等参数是否设置正确。可以使用超级终端等工具对串口进行测试。

在对话框中创建通信控件 若Control工具栏中缺少该控件,可通过菜单 Project -- Add to Project -- Components and Control插入即可,再将该控件从工具箱中拉到对话框中。

校验位了什么的设置好了没,我怀疑你串口都没打开,一般的笔记本都不带串口的,你最好用台式机。MFC的书里边一般都有介绍串口通信的。

MFC串口接收数据

硬件连接问题:检查串口是否连接正确,波特率、数据位、停止位、校验等参数是否设置正确。可以使用超级终端等工具对串口进行测试。

var msg = Encoding.Default.GetString(this.buf.ToArray());完整性判断while (msg.Length BeginOfLine.Length + EndOfLine.Length)//至少要包含头(2字节)+长度(1字节)+校验(1字节)。

工程”-增加到工程-Components and Control...中,选择Registered ActiveX Controls文件中的Microsoft Communications Control, version 0.lnk(图标像一个电话一样),将这个控件增加到列表中,然后就可以直接拖来用了。

设置断点看看 发送的字节数 和接收的字节数。

可以吧,一般多线程也是使用异步事件通知的方式,在事件没发送的时候会释放时间片。效率高。

可以,几个串口都可以。不过,最好启用多线程,每个线程监控一个串口。在一个线程里面打开多个端口并监控会有问题。

到此,以上就是小编对于mfc串口通信类的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

分享:
扫描分享到社交APP
上一篇
下一篇