【发布时间】:2010-04-13 22:46:32
【问题描述】:
我的大脑被炸了,所以我想我会把这个传给社区。p>
向我的嵌入式系统发送 1 个字符时,它始终认为自己收到了 2 个字符。第一个接收到的字符似乎映射到传输的字符(以某种未知的方式),第二个接收到的字符总是 0xff。
这是我观察到的:
Tx char (in hex) Rx character (in hex), I left out the second byte (always ff)
31 9D
32 9B
33 99
61 3D
62 3B
63 39
64 37
65 35
41 7D
42 7B
43 79
我检查了我的时钟,它们似乎没问题。这个非工作版本和之前版本的唯一区别是我现在使用的是 RS485 芯片。
我已经将信号一直跟踪到 MCU,它看起来很好(确认了 RX 引脚上的位值)
【问题讨论】:
-
您也可能会从 ChipHacker 那里得到很好的回应。
-
这是我的帖子(我懒得登录)。在我测试我的一切都是正确的之前,我相当有信心。我正在使用 sn75 或其他 rs485 翻译器。接地层良好,+/- 信号干净(正确端接)。波特率正确设置为 9600 无奇偶校验,1 个停止位。
-
如果可能,请收听您自己的传输作为碰撞检测的手段。我个人遇到过这样一种情况,即一个字节已成功移出 TX 的移位寄存器,并且我过早地释放了 rs485 收发器的控制引脚,导致传输的最后一个字符(校验和)不正确。
标签: embedded serial-port rs485