社区
硬件/系统
帖子详情
使用CSerialPort串口编程,如何判断没有收到字符?
brk1985
2012-06-01 11:19:22
有字符收到触发OnCommunication函数,如果没有收到字符,OnCommunication函数收不到字符信息,怎么判断?
希望实现这样的功能:如果在规定的时间范围(比如5分钟)内,没有收到字符,就假定串口断开、重新发送串口连接命令。
PS:貌似串口有设置超时,一点没起到作用。。。
...全文
287
9
打赏
收藏
使用CSerialPort串口编程,如何判断没有收到字符?
有字符收到触发OnCommunication函数,如果没有收到字符,OnCommunication函数收不到字符信息,怎么判断? 希望实现这样的功能:如果在规定的时间范围(比如5分钟)内,没有收到字符,就假定串口断开、重新发送串口连接命令。 PS:貌似串口有设置超时,一点没起到作用。。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
继续求助中。。。
C++
串口
编程
Cse
ria
l
Port
类源码
一个用于VC
串口
开发的工具类。简单实用。做
串口
开发的童鞋不用再头疼了,工具类可以直接
使用
。注意是vc++版本
串口
232
编程
Cse
ria
l
Port
类总结
本文档详细介绍了
Cse
ria
l
Port
开源库的
使用
,并有相关源代码。
Cse
ria
l
Port
编程
步骤.docx
Cse
ria
l
Port
编程
步骤.docx
CSe
ria
l
Port
类的
使用
方法详解
CSe
ria
l
Port
类的
使用
方法详解,很受用。。
基于
CSe
ria
l
Port
修改类的
串口
调试助手源代码
本
串口
工具集成目前多数
串口
工具的优秀功能于一身,采用
CSe
ria
l
Port
类进行编写,并在此基础上对该类进行了改进。本工具免费试用,永不过期。并且本着奉献的精神,公开本
串口
工具的源代码,希望广大用户反馈意见或建议。 源码地址:code.csdn.net/itas109/se
ria
l
port
_itas109 博客地址:blog.csdn.net/itas109 Email:itas109@qq.com 本软件主要在XP系统做测试
使用
。 本工具的主要功能有: 1.接收从
串口
进来的数据并在窗口显示. 2.所接
收到
的数据数据显示方式可以选择为
字符
方式或者HEX方式 3.支持显示中文 4.
串口
波特率可以选择为300bps-115200bps. 5.可以即时刷新存在的
串口
号.如果您增加了usb转
串口
等设备,点击刷新
串口
按钮后,新的
串口
号也会在列表中出现. 6.支持最多20个
串口
列表,包括COM1-COM256中的任意20个活跃
串口
7.可以选择“5、6、7、8”四种数据长度. 8.可以选择为“1、2”两种停止位. 9.数据可以选择为“无、奇校验、偶校验、1、0”四种方式. 10.
串口
设置和
字符
串操作等设置在程序关闭时自动保存,打开时自动载入.您可以自行设置是否自动保存. 11.可以在
字符
串输入框输入您想发送的
字符
串,并发送. 12.可以在
字符
串输入框输入您想发送的HEX数据串,数据的值从00到FF,
没有
任何限制. 13.可以定时重复发送数据,并可以设置发送时间间隔. 14.可以在发送
字符
串时选择发送新行,即自动加上回车换行. 15.可以即时显示发送的字节数和接
收到
的字节数,按清除窗口将会清零. 16、可以设置自动清空功能,在达到30行数据时,自动清空。未设置时,达到100行,自动清空. 17、在手动发送旁边的按钮可以设置按ENTER发送数据,注意点击“打开
串口
”后,请使焦点离开该控件. 另外要说明的是,由于本人
编程
能力有效,未免可能有些差错,在此先声明一下,您可以免费
使用
和自由传播本软件,但是我不对本软件所造成的任何损失负责!如果你
使用
了本软件,即表明您愿意接收这一条款。如果你不能接受,请立即将其删除!
硬件/系统
2,644
社区成员
17,232
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章