社区
进程/线程/DLL
帖子详情
vs2005 线程中初始串口,接收不到数据
fjsdsgb
2011-07-08 04:23:03
vs2005 对话框中,采用串口控件mscomm,创建一个线程,在线程中从1号到5号串口初始并轮询发数据,每个有15秒钟时间,从接收到数据判断是哪个串口在通信。
问题出现了:
1、在线程中初始化正常,发送数据正常,但是OnComm中接收不到数据,用定时器或单独就可以。
2、调试会看到串口通信会出现有内存泄漏
请问各位大侠,这该如何解决,或者有更好的办法查找通信串口,谢谢。
...全文
220
10
打赏
收藏
vs2005 线程中初始串口,接收不到数据
vs2005 对话框中,采用串口控件mscomm,创建一个线程,在线程中从1号到5号串口初始并轮询发数据,每个有15秒钟时间,从接收到数据判断是哪个串口在通信。 问题出现了: 1、在线程中初始化正常,发送数据正常,但是OnComm中接收不到数据,用定时器或单独就可以。 2、调试会看到串口通信会出现有内存泄漏 请问各位大侠,这该如何解决,或者有更好的办法查找通信串口,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
beijin58
2013-03-20
打赏
举报
回复
我现在也正面临这样的问题。如果用事件来接收时没问题,在线程里面接收就出问题了。关键我这个程序要用MSComm,还要用Winsock控件,全用事件处理也比较繁琐。请问你知道在线程里面进行接收数据了没?教一下。
tt2com
2011-07-15
打赏
举报
回复
使用三方类吧,封装好的API很好用的CSerialPort。网上的能下到的。
long9158
2011-07-14
打赏
举报
回复
来 学习 学习!
chenjiawei007
2011-07-11
打赏
举报
回复
可以自己用readfile看看,是不是没获取到数据,用串口工具看看能否收到。
线程和定时器没有太大区别,检查下你的线程,是不是发送操作一直独占了。
jiuzhoulh
2011-07-11
打赏
举报
回复
使用api函数来实现串口通信是做好用的!这方面的资料网上也很多啊
fjsdsgb
2011-07-11
打赏
举报
回复
感谢各位的帮忙,已经解决了。原因是我用的是自带控件,自带控件与窗口是有关联的,在线程中打开,线程有自己的栈区,所以会出现接收不到数据的情况。
smilestone322
2011-07-11
打赏
举报
回复
以前我做串口的时候,也碰到过这种情况,依次轮询,将串口放在下拉菜单里面,出错,有时找不到串口,后面我都改成写配置文件,从配置文件中找串口,我觉得 串口循环操作会造成串口错误。
zgl7903
2011-07-11
打赏
举报
回复
[Quote=引用楼主 fjsdsgb 的回复:]
vs2005 对话框中,采用串口控件mscomm,创建一个线程,在线程中从1号到5号串口初始并轮询发数据,每个有15秒钟时间,从接收到数据判断是哪个串口在通信。
问题出现了:
1、在线程中初始化正常,发送数据正常,但是OnComm中接收不到数据,用定时器或单独就可以。
2、调试会看到串口通信会出现有内存泄漏
请问各位大侠,这该如何解决,或者有更好的办法查找通信串口,谢谢。
[/Quote]
mscomm控件,接收数据需要以控件容器方式响应接收事件
多线程最好使用API,效率高
参看MSDN帮助文档
Serial Communications
MoXiaoRab
2011-07-10
打赏
举报
回复
信息太少了
用户 昵称
2011-07-08
打赏
举报
回复
api吧,比控件好用
Qt高级系列之8:Qt多
线程
线程
池
数据
同步机制及文件下载器项目实战
1.带领您深入学习QT5/C++:Qt多
线程
线程
池及
数据
同步机制 ,多
线程
文件下载器项目实战,继承自QThread,继承自QObject,QRunnable和QThreadPool,QtConcurrent,Qt多
线程
技术与
数据
加锁保护机制:QMutex,QSemaphore,QReadWriteLock,QWaitCondition;Qt
线程
池技术、Qt
数据
库连接池、等。2.所有章节均有理论知识介绍、接口讲解、实例代码讲解,讲解过程
中
不断穿插老师在开发过程
中
遇到的问题及解决方法(可以下载所有的电子课件与源码)。
qt下
串口
接收
数据
线程
实现
qt
线程
方式实现
数据
接收
并保存到文件内
QT多
线程
接收
串口
数据
** QT多
线程
接收
串口
数据
** 1.前言 QT多
线程
的使用,和绝大数人一样,犯了错误(请查阅Qt开发人员( Bradley T. Hughes)Blog
中
的文章 you are-doing-it-wrong介绍)。为了解决问题,网上查阅学习了几十篇文章,基本都是错误的使用方法,或者不完整,未能给予正确的引导。 为方便后来学习者,少走弯路,于是自己动手写了一下程序,过程不再赘述,只以完整的案例进行教学,内部注释较多,可供大家阅读、思考。 2.功能作用 使用多
线程
,避免上位机软件与单片机等硬件设备高速通讯时
C#
串口
通信关闭
串口
后开启的多
线程
无法关闭的问题,怎么挂起多
线程
;第二次开启
串口
,多
线程
无法启用,无法
接收
串口
通信问题
我遇到的问题是 打开
串口
后,执行多
线程
里面的内容——就是
串口
接收
一个死循环 一直在
接收
串口
发出的
数据
然后我关闭
串口
,我试过强制关闭
线程
.Abort(); 也加了延时 保证真正关闭
线程
了, 再打开
串口
并执行了 打开
线程
的操作,发现
线程
并没有启动, 启动关闭
串口
如下: private void button1_Click(object sender, EventArgs e) { string comx; int bau...
以多
线程
和缓存的方式处理
串口
的发送和
接收
动作
转载:https://www.cnblogs.com/showlie/articles/2367154.html 一、现象 不管如何设置ReceivedBytesThreshold的值,DataReceived
接收
到的
数据
都是比较混乱,不是一个完整的应答
数据
。 二、原因 1、上位机下发的命令比较密集,以200ms周期发送实时状态轮询命令。 2、在状态实时轮询命令
中
间有操作命令插入。 2、不同的命令,
接收
的应答格式也不同。 三、分析 不同的命令有不同的应答
数据
,但是不同的应答
数据
中
都具有唯一的结束符,可以根据
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章