社区
网络及通讯开发
帖子详情
串口通信问题
renjiao17
2010-11-04 04:14:26
我现在想要实现当我通过串口收到数据时候,再通过串口返回一个标志数据给发送数据端,程序运行没有错误,但是显示区显示接收数据时候数据跳了一下就不再显示了。。。请知道这是怎么回事的前辈们讲一下!非常感谢!
...全文
197
13
打赏
收藏
串口通信问题
我现在想要实现当我通过串口收到数据时候,再通过串口返回一个标志数据给发送数据端,程序运行没有错误,但是显示区显示接收数据时候数据跳了一下就不再显示了。。。请知道这是怎么回事的前辈们讲一下!非常感谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
renjiao17
2010-11-07
打赏
举报
回复
大家看看这句strcpy(recv_frame, Socket->ReceiveText().c_str());有没有问题啊?我想把Socket->ReceiveText()存到char类型的数组里面。。。
jiangshx
2010-11-05
打赏
举报
回复
数据没有及时更新吧,在循环里加Application->ProcessMessages();
或者把你的代码放在线程里
renjiao17
2010-11-05
打赏
举报
回复
[Quote=引用 8 楼 zzbinfo 的回复:]
再数据通信上下功夫,数据上设置头,尾,保证接收数据的完整.就是自己构造数据帧
[/Quote]已经加数据头和尾了,我设置断点一步一步调试,数据可以显示完全,但是把断点去掉直接运行,数据就不显示了。。。这是为什么啊
jiangshx
2010-11-05
打赏
举报
回复
发送之前,清一下接收缓存区,然后再发送和接收
如果用的是api做的串口通讯,接收之前,
调用函数ClearCommError判断接收缓存区是否有数据和异常
如果有异常用PurgeComm清一下
renjiao17
2010-11-05
打赏
举报
回复
[Quote=引用 10 楼 jiangshx 的回复:]
数据没有及时更新吧,在循环里加Application->ProcessMessages();
或者把你的代码放在线程里
[/Quote]
加了,但是没用啊。。。还是那样
zzbinfo
2010-11-04
打赏
举报
回复
再数据通信上下功夫,数据上设置头,尾,保证接收数据的完整.就是自己构造数据帧
renjiao17
2010-11-04
打赏
举报
回复
怎么就不会出现错误数据这种情况啊。。。急问
renjiao17
2010-11-04
打赏
举报
回复
[Quote=引用 4 楼 ccrun 的回复:]
这不好说. 有时候是上一个指令的回复没有读完,再发送指令并读取回复的时候,可能连带上一次遗漏的字符一起读回来了.也就是传说中的脏数据.
[/Quote]
那要怎么解决这个问题啊。。。
jiangshx
2010-11-04
打赏
举报
回复
[Quote=引用 3 楼 renjiao17 的回复:]
引用 1 楼 ccrun 的回复:
用串口监视工具监测一下指令有没有写成功?
我找到原因了,但是我还想问问数据接收过来为什么会出现错误数据啊。。。有的时候显示是正确的,有的时候是错误的
[/Quote]
也可能存在脉冲干扰,出现非法数据。
ccrun.com
2010-11-04
打赏
举报
回复
这不好说. 有时候是上一个指令的回复没有读完,再发送指令并读取回复的时候,可能连带上一次遗漏的字符一起读回来了.也就是传说中的脏数据.
renjiao17
2010-11-04
打赏
举报
回复
[Quote=引用 1 楼 ccrun 的回复:]
用串口监视工具监测一下指令有没有写成功?
[/Quote]
我找到原因了,但是我还想问问数据接收过来为什么会出现错误数据啊。。。有的时候显示是正确的,有的时候是错误的
银点
2010-11-04
打赏
举报
回复
显示区只能显示字符,其它的数据显示不出来。
按妖哥的说法,你可去网上下载一个串口调试工具去试一下通信
也可以用系统自带的超级终端
ccrun.com
2010-11-04
打赏
举报
回复
用串口监视工具监测一下指令有没有写成功?
Proteus仿真
串口通信
出现的一个小
问题
我突然想到,终端对话框有个叉,是不是因为我把终端对话框叉掉了,然后再次启动工程的时候,终端对话框就不再出现了?我想到,要是换一个虚拟终端,是不是能让终端对话框重新出现,毕竟进行多机调试的时候,每个单片机都要连接一个虚拟终端,于是乎,我就又放了一个虚拟终端。同样的工程,同样的程序,我只是多加了一条输出代码,程序就毫无反应了!既然终端对话框在加入虚拟终端的时候不会出现,而只能在启动工程的时候才能出现,上一次启动工程的时候叉掉了终端对话框,应该不影响下次启动工程才对啊!结果, 没有玩几下,程序又不行了!
串口通信
问题
排查总结
检查中间件
串口通信
必然存在发送端和接收端,且两者通过中间件(例如导线),遇到
问题
,首先应该保证导线连接正常。如果这一部分没有确定,直接排查其他方向,很可能在做无用功。排查硬件层通过逻辑分析仪、示波器等仪器来判断发送端、接收端在发送、接收、空闲时的引脚波形是否正常。串口空闲时为高电平,有数据时才会有电平变化。同时需要确定电压是否正常。波形测量的位置先从最终点开始测量,然后依次排查中间部分的探测点,来判断
问题
位置。如果发现波形变形、失真、电压不正常等情况,请让硬件工程师协助进行排查。
关于在
串口通信
时遇到的
问题
记录
最近遇到一个比较有意思的
问题
,在此记录一下
问题
描述: 在java的PC工具与开发板进行
串口通信
时,在我自己的电脑上通信正常,但是将java工程打包成jar后放到别的电脑上使用,通信仅一个字节后中止 猜测
问题
原由: 1.串口驱动版本\java的
串口通信
dll文件与系统位数不对应 2.java运行环境(jdk/jre)不对应 3.
串口通信
参数设置不对(数据位/停止位/校验位/波特率) 然后在调试过程中开始了漫长的实验(事实表明自己的经验还是不足,怀疑
问题
的方向都过于应用层,其实应该从通信数据和方式开始着手,而
排查
串口通信
问题
串口通信
问题
排查
如何排查
串口通信
问题
?
传输来源:公众号【鱼鹰谈单片机】作者:鱼鹰OspreyID :emOsprey工作过程中,总是会遇到各种各样的通信
问题
,除了掌握软件知识,必要的硬件技能也必不可少,比如万用表、示波器、逻辑分析仪等,如此才能做到精准定位,早点打卡下班~~鱼鹰根据个人多年的嵌入式开发经验,在此斗胆总结一番,希望可以给一些新人提供排查方向。在此,以
串口通信
为例,介绍排查步骤或方向:红色代表...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章