社区
ATL
帖子详情
CSerialPort类的问题
ly4303
2011-07-28 08:17:33
龚老师写的CSerialPort类,发现有个小问题,本人弄了几天没解决,求大家帮助,要看源码的话,可以下载串口调试助手v2.2或v2.3 源码,网上都多着.
问题:循环自动发送,内容可以随意,为了看出问题,时间设为1ms,过一会儿,显示的内容很乱,丢失的现象很严重.不知大家有没有试过.
我不想再测试了,烦得很......
有知道的朋友麻烦出出来解答一下,本人在此谢过了
...全文
121
7
打赏
收藏
CSerialPort类的问题
龚老师写的CSerialPort类,发现有个小问题,本人弄了几天没解决,求大家帮助,要看源码的话,可以下载串口调试助手v2.2或v2.3 源码,网上都多着. 问题:循环自动发送,内容可以随意,为了看出问题,时间设为1ms,过一会儿,显示的内容很乱,丢失的现象很严重.不知大家有没有试过. 我不想再测试了,烦得很...... 有知道的朋友麻烦出出来解答一下,本人在此谢过了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ly4303
2011-07-30
打赏
举报
回复
谢谢catyou,wyx100的回复
我是默认值测试的,也就是9600,正因为很多用这个类,所以才敢用
发送和接收都是用的龚老师自己写的(V2.3版本),怕自己写的东西有问题,所以才这样测试
我也懒得去折腾了,改用ms的控件.下次都不敢用CSerialPort这个类了
我把代码里的自动清空/自动分页的功能去掉了,也就是把所有接收到的东西都显示出来
用超级终端,没有太大的问题,亲测过,
只要是CSerialPort写的东西,都有这个问题,点一下"停止显示",再继续显示,它好像又可以了,我都被测怕了
catyou,这个要仔细测,才能测出来,我在网上搜了一下,别人好像也有这个问题,而且没有得到很好的解答
估计一般人没去这样测
ly4303
2011-07-29
打赏
举报
回复
谢谢大家的回复, 我想一秒钟发10字节或一秒种发4个节,应该可以处理过来吧
不管你怎么发,它都会出错的..中间还用了延时.。。
开始一段时间,的确没有错误,但发到后面错误就越来越明显了..
循环自动发送,我测了,也有问题,
发文件,也一样,我还分包发的呢,还是有问题
至于用协议,朋友你说得很对,确实可以,但我现在如果不用协议呢,有没有办法呢?
我也没有保证100%,至少稳定性就大打折扣了吧
catyou
2011-07-29
打赏
举报
回复
你的接收工具是串口测试软件或超级终端还是自己写的,如果是自己写的,最好是换成超级终端。
1S发4个字节还出错,那不用问是你没用好。
首先不用自动发,采用手动发送试试,维持一段时间看看会不会出错
如果手动不出错,那说明就是传输速率的问题。自动只不过是比手动快一些而己,没什么区别。
网上有很多用这个类的例子,你可以看看别人怎么做的。
我测试过100ms间隔,发送40个字节, 9600都没出错。
wyx100
2011-07-29
打赏
举报
回复
你串口的波特率设置多少啊?
拿14400来说,一秒钟发14400bit数据,包括数据位校验位等等,其实1s也就发1000多字节,1ms也就发1个多字节
wawava
2011-07-28
打赏
举报
回复
你串口的波特率设置多少啊?
拿14400来说,一秒钟发14400bit数据,包括数据位校验位等等,其实1s也就发1000多字节,1ms也就发1个多字节
fishion
2011-07-28
打赏
举报
回复
串口传输的速度本来就不快的,一般传数据时,都要定义一个协议,在协议头里增加数据长度什么的
vann1982
2011-07-28
打赏
举报
回复
1ms 略微的短了一点
使用
Cse
ria
l
Port
类
出现的一些
问题
的解决
本文解决了使用
Cse
ria
l
Port
类
时遇到的
问题
,包括初始化时的
类
型不匹配错误及运行时警告,介绍了HWND与CWnd的区别,并提供了转换方法。
CSe
ria
l
Port
类
的
问题
求助
博主正在开发一个多线程多串口的应用程序,在使用
CSe
ria
l
Port
类
时遇到
问题
。程序退出时,串口监测线程无法正常结束,导致程序在后台持续运行并占用大量CPU资源。
关于MFC中
CSe
ria
l
port
类
20180621更新使用
问题
总结
本文探讨了
CSe
ria
l
Port
类
在Windows10 64位系统中使用时遇到的
问题
,特别是串口接收功能失效的情况。通过分析提供的示例代码,指出了OnReceiveStr回调函数无法正常工作的
问题
,并提出了在OnSendMessage函数中可以接收到一次数据的现象。
CSe
ria
l
Port
类
关闭串口后无法再次打开的一个错误
问题
在使用
CSe
ria
l
Port
类
进行串口通信时,遇到关闭串口后无法再次打开的
问题
,错误代码为5,表示串口被占用。通过分析发现,
问题
出在监听线程StartMonitoring(),其导致串口未正确关闭。进一步调试后,发现在关闭串口的事件处理中,句柄关闭顺序错误,调整顺序后成功解决了串口无法关闭和重开的
问题
。
串口通信
CSe
ria
l
Port
类
WriteTo
Port
不能连续发送的
问题
本文探讨了在使用
CSe
ria
l
Port
类
进行串口通信时遇到的
问题
,特别是连续发送数组数据时出现的异常现象。解释了由于采用异步发送导致数据发送顺序异常,并通过插入AfxMessageBox函数使程序暂停,从而解决这一
问题
。进一步解析了
CSe
ria
l
Port
类
的内部实现和Windows API函数的使用,提供了一个清晰的技术解决方案。
ATL
3,248
社区成员
48,530
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章