打印

RS485串口通信出错

[复制链接]
6006|35
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
RQren2008|  楼主 | 2012-10-22 14:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 RQren2008 于 2012-10-22 17:03 编辑

现在用工控机采集数据,RS485协议,波特率是614400,采用C++编写的通信软件,但是采集的数据总是出错,数据时打包发送,长度固定,包头是0x55 0xAA但是接收的数据包头总是0x55 0xA9,而且数据长度不固定,一般都是比规定的数据多几个字节。

看了大家的回复,首先很感谢大家的,但是有几个问题:
1.波特率不能往下降,因为这是由设备决定的;
2.是不是软件上可以有所改进,比如用serialport采集数据波特率过高的时候有没有哪些注意事项 等等
谢谢大家!!!

相关帖子

沙发
yewuyi| | 2012-10-22 14:55 | 只看该作者
你的通信距离多少?

波特率614400一般来说太高了点,尽量降低点波特率看看,俺用485的时候,一般都不建议超过9600波特率,最多19200

使用特权

评论回复
板凳
RQren2008|  楼主 | 2012-10-22 16:37 | 只看该作者
2# yewuyi 通信距离1m,我是用工控机采集一个仪器的数据,仪器的波特率就是614400,改不了。

使用特权

评论回复
地板
RQren2008|  楼主 | 2012-10-22 16:37 | 只看该作者
2# yewuyi 我用的是USB转RS485的接头

使用特权

评论回复
5
ayb_ice| | 2012-10-22 16:39 | 只看该作者
首先看看你的485芯片是否支持这么高的波特率,其次用示波器看看波形,估计已严重变形了

使用特权

评论回复
6
RQren2008|  楼主 | 2012-10-22 16:43 | 只看该作者
5# ayb_ice 我用的是买的USB转RS485的转换头,应该没问题,仪器是定做的,而且演示过,应该也没问题

使用特权

评论回复
7
阿南| | 2012-10-22 16:56 | 只看该作者
降波特率测试下,看是否是太高引起的问题。

使用特权

评论回复
8
RQren2008|  楼主 | 2012-10-22 17:00 | 只看该作者
7# 阿南 波特率降不了的,是由设备定的,不是自己定的

使用特权

评论回复
9
coody| | 2012-10-22 17:02 | 只看该作者
USB转485还用这么高的波特率,会有问题的。

使用特权

评论回复
10
RQren2008|  楼主 | 2012-10-22 17:04 | 只看该作者
9# coody 如果波特率不往下降的话应该用什么设备实现呢?

使用特权

评论回复
11
ayb_ice| | 2012-10-22 17:18 | 只看该作者
这种情况只能看实际波形了,抓波形分析了

反正据我的经验波特率有点高了,很多串口助手将波特率设为256K都直接死机,很多232的芯片也最多支持到256K

使用特权

评论回复
12
阿南| | 2012-10-22 17:22 | 只看该作者
你可以拿这个设备接上另一台设备,或者接PC,只是测试通讯的可靠性,而不一定是带协议的

使用特权

评论回复
13
ocon| | 2012-10-22 18:57 | 只看该作者
我看到好多USB485转换器把能上115200当成卖点来宣传,建议楼主还是花点时间确认一下。

使用特权

评论回复
14
RQren2008|  楼主 | 2012-10-22 20:02 | 只看该作者
2# yewuyi 不好意思,弄错了,是RS422协议的,抱歉!!!不知道对于RS422的这种情况您有什么建议?

使用特权

评论回复
15
RQren2008|  楼主 | 2012-10-22 20:03 | 只看该作者
5# ayb_ice 不好意思,弄错了,是RS422协议的,抱歉!!!不知道对于RS422的这种情况您有什么建议?

使用特权

评论回复
16
RQren2008|  楼主 | 2012-10-22 20:03 | 只看该作者
7# 阿南 不好意思,弄错了,是RS422协议的,抱歉!!!不知道对于RS422的这种情况您有什么建议?

使用特权

评论回复
17
RQren2008|  楼主 | 2012-10-22 20:03 | 只看该作者
8# RQren2008 不好意思,弄错了,是RS422协议的,抱歉!!!不知道对于RS422的这种情况您有什么建议?

使用特权

评论回复
18
RQren2008|  楼主 | 2012-10-22 20:03 | 只看该作者
9# coody 不好意思,弄错了,是RS422协议的,抱歉!!!不知道对于RS422的这种情况您有什么建议?

使用特权

评论回复
19
ningling_21| | 2012-10-22 20:09 | 只看该作者
RS422只是一种接口,不是协议...
估计是由于波特率太高引起的...

使用特权

评论回复
20
sipangzihuan1| | 2012-10-22 20:22 | 只看该作者
波特率614400一般来说太高了点

使用特权

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

本版积分规则

14

主题

67

帖子

1

粉丝