打印

串口通信检错问题

[复制链接]
1842|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
你好陌生人|  楼主 | 2013-7-6 22:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
你好陌生人|  楼主 | 2013-7-7 00:48 | 只看该作者
难道没有人吗,求解答啊

使用特权

评论回复
板凳
chunyang| | 2013-7-7 23:15 | 只看该作者
用PC串口做监视,注意波特率首先要对,然后才是程序问题。

使用特权

评论回复
地板
你好陌生人|  楼主 | 2013-7-7 23:29 | 只看该作者
chunyang 发表于 2013-7-7 23:15
用PC串口做监视,注意波特率首先要对,然后才是程序问题。

程序是正确的,波特率也是正确的,但是就是传输的数据错误率太高了,想写个程序像冗余检错那样的,错误的数据重发,但是不知道怎么写

使用特权

评论回复
5
航天风云| | 2013-7-8 13:53 | 只看该作者
可以查查串口数据发送得对不对,看看时序关系是否一致,你可用“RS485串口数据采集器”在电脑上直接看到发送的数据,同时也能看到时序关系,我用过,调试起来很好,很方便,让你一目了然,用了以后你会放不下,现在我还在用,真的很好,你可以用用,帮助很大。在淘宝上就可以买到。
关键是:你能确切的知道线路上走的究竟是什么数据,而不是猜测走的是什么数据。

使用特权

评论回复
6
你好陌生人|  楼主 | 2013-7-8 21:14 | 只看该作者
航天风云 发表于 2013-7-8 13:53
可以查查串口数据发送得对不对,看看时序关系是否一致,你可用“RS485串口数据采集器”在电脑上直接看到发 ...

我现在在软件里面加入了奇偶校验,串口调试助手里面没有选择奇偶校验,结果错误率就降下来了,真心不知道怎么回事啊,现在错误率好低的,这是什么情况啊

使用特权

评论回复
7
张允| | 2013-7-8 21:46 | 只看该作者
首先保证你的波特率是否正确,你可以从以下如下
1、MCU的内部时钟(或者外部晶振)是否满足通信要求
2、MCU初始化时系统时钟
3、串口通信的时钟

先确定上面设置是否正确,然后考虑
1、硬件条件是否满足,当然了如果PCB版以前已经验证过,这步你可以跳过,如果实在不放心,你就得检查本版硬件与以前版本是否存在差异,特别是电阻、电容是否满足要求;
2、软件,软件是否通过验证,如果已验证,可以跳过;
3、串口通信硬件环境,是否有电磁干扰等。

当然了,也不是非得按照上面的方式去做,你有可以直接从串口发送的数据入手,去分析问题产生的原因:
1、串口监控
2、时序分析

以上说只限于本人胡说,请谨重参考。

使用特权

评论回复
8
航天风云| | 2013-7-10 12:33 | 只看该作者
有什么问题可以加我的QQ,在这无法发一些图片给你们参考。QQ;904118275

使用特权

评论回复
9
sfpxfpcfp| | 2013-7-10 14:28 | 只看该作者
波特率设置好了吗???

使用特权

评论回复
10
你好陌生人|  楼主 | 2013-7-10 19:23 | 只看该作者
sfpxfpcfp 发表于 2013-7-10 14:28
波特率设置好了吗???

设置是好的   原来arm没有选择奇偶校验的时候错误率大概有20%,现在我加了奇偶校验,我在串口调试助手不打开奇偶校验的话,基本不会出现错误,但是打开的话,基本上全是错误了,这是怎么回事啊

使用特权

评论回复
11
你好陌生人|  楼主 | 2013-7-10 19:33 | 只看该作者
chunyang 发表于 2013-7-7 23:15
用PC串口做监视,注意波特率首先要对,然后才是程序问题。

波特率是对的   设置问题都是对的  但就是错误率在20%左右,不知道怎么办

使用特权

评论回复
12
chunyang| | 2013-7-10 22:42 | 只看该作者
你好陌生人 发表于 2013-7-10 19:33
波特率是对的   设置问题都是对的  但就是错误率在20%左右,不知道怎么办

设置对不代表实际上就对,晶体有精度指标的,而且跟分频率有关。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

152

帖子

1

粉丝