社区
硬件/系统
帖子详情
使用CSerialPort串口编程,如何判断没有收到字符?
brk1985
2012-06-01 11:19:22
有字符收到触发OnCommunication函数,如果没有收到字符,OnCommunication函数收不到字符信息,怎么判断?
希望实现这样的功能:如果在规定的时间范围(比如5分钟)内,没有收到字符,就假定串口断开、重新发送串口连接命令。
PS:貌似串口有设置超时,一点没起到作用。。。
...全文
345
9
打赏
收藏
使用CSerialPort串口编程,如何判断没有收到字符?
有字符收到触发OnCommunication函数,如果没有收到字符,OnCommunication函数收不到字符信息,怎么判断? 希望实现这样的功能:如果在规定的时间范围(比如5分钟)内,没有收到字符,就假定串口断开、重新发送串口连接命令。 PS:貌似串口有设置超时,一点没起到作用。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Saleayas
2012-07-11
打赏
举报
回复
设置一个类似看门狗的东西。
它不停的计时,到指定的时候,就认为串口断开。
而当接受到任何一个数据的时候,就把它的计数器置0,这就是通常所说的喂狗。
FrankieWang008
2012-07-11
打赏
举报
回复
自己手写一个Ontimer事件处理函数,来处理超时处理吧
brk1985
2012-07-11
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
可以这么用:
当发送数据后,用
DWORD dwEnd = ::GetTickCount() ;
得到当前时间,ms级
然后实时判断是否超时即可。
1、用For/While判断
2、在OnTimer()里比较发送时时间
[/Quote]
还以为没人回复了!!!
我后来使用定时器完成了该功能,用定时器设置间隔时间、比如5s,设置一个接收标志位,如果定时器执行的时候仍为“未收到”状态,则判断串口未连接(无收到字符)。
和你所讲的还是有所区别。。。你的思路还是让人觉得有点模糊。。。
fronz
2012-07-07
打赏
举报
回复
不知道你说的串口类的组成,一般来说是没有超时事件触发的,自己设置读超时和读间隔超时事件,改大到5分钟。
elautoctrl
2012-07-05
打赏
举报
回复
用状态机+定时器应该可以解决吧
我就是这么做的
tomyi
2012-07-05
打赏
举报
回复
可以这么用:
当发送数据后,用
DWORD dwEnd = ::GetTickCount() ;
得到当前时间,ms级
然后实时判断是否超时即可。
1、用For/While判断
2、在OnTimer()里比较发送时时间
一条晚起的虫
2012-06-26
打赏
举报
回复
PS:貌似串口有设置超时,一点没起到作用。。。
// 串口超时设置肯定有作用的。
// CSerialPort是用Comm Event出发的,看看Comm Event注册了哪几个?超时的标志注册了没?
brk1985
2012-06-01
打赏
举报
回复
期待高手的出现啊。。。
brk1985
2012-06-01
打赏
举报
回复
继续求助中。。。
串口
通信--
CSe
ria
l
port
类
本文详细介绍了
串口
通信的基本原理和技术细节,包括
串口
通信的数据格式、波特率、校验方式等核心参数,以及单工、半双工和全双工通信的区别。此外,还提供了
使用
CSe
ria
l
Port
类在VS2013环境下实现
串口
通信的具体步骤。
MFC之
CSe
ria
l
Port
类双
串口
发送接收
本文介绍了如何在MFC中利用
CSe
ria
l
Port
类实现双
串口
的发送和接收。通过创建
CSe
ria
l
Port
对象,设置
串口
参数并打开
串口
,配合消息处理函数OnComm监听
字符
接收,实现
串口
通信。程序提供了打开、关闭
串口
及定时发送数据的功能。
CSe
ria
l
Port
多线程
串口
编程
工具详解
本文详细解析了
CSe
ria
l
Port
类在多线程环境下的
串口
编程
,涵盖了工作流程、类中定义的消息及成员函数,深入探讨了
CSe
ria
l
Port
.h和
CSe
ria
l
Port
.cpp文件的实现细节。
利用
CSe
ria
l
Port
类进行通信
串口
本文展示了如何利用
CSe
ria
l
Port
类进行
串口
通信,包括初始化
串口
、发送和接收数据,以及关闭
串口
的操作。通过Init
Port
函数设置通信参数,并
使用
WriteTo
Port
发送数据,通过WM_COMM_RXCHAR消息接收数据。
C++
编程
->基于
CSe
ria
l
Port
类的
串口
通信测试
本文介绍了如何
使用
CSe
ria
l
Port
类进行C++
串口
通信,通过实例展示了与单片机的交互过程,为上位机测试提供指导。
硬件/系统
2,644
社区成员
17,229
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章