【发布时间】:2014-07-16 00:41:32
【问题描述】:
这里是新人,先介绍一下我自己:
我是一名专业的火警调试工程师,但我喜欢把电子产品当作一种爱好。 我主要感兴趣的领域是各种系统之间的集成(这是我喜欢做火警的原因之一,因为它们与大型建筑物中的大多数系统接口)并且最近开始更多地参与到接口系统的串行通信,而不是无聊继电器触点。
在我的房子里,我有一个 8X8 音频/视频矩阵切换器,它将所有房间的立体声系统相互连接,这样我就可以将任何房间的音频连接到房子的任何其他房间。 这个切换器背面有一个 RS-232 串行端口,我希望我可以连接到 PI 或 arduino,这样我就可以通过 Web 界面控制它。
经过一番搜索,我在网上找到了它的协议……但不幸的是,事情并没有那么顺利。
目前我只在笔记本电脑上使用 USB-232 转换器和零调制解调器电缆,以及一个名为 232 分析器的程序...... 我可以很好地读取数据,并将数据发送到设备……但它不断吐出“帧错误”消息。
我不确定我做错了什么,请有人建议吗?这是我第一次真正使用串行,所以指针会很酷。 我确实认为的一件事是协议指定:
- RS-232C 标准
- 起始位 1
- 停止位 1
- 数据位 8
- 奇偶校验位偶数
- 波特率 9600bps
- ASCII码
- 终止
但我的分析器程序只允许我设置波特率、数据位、奇偶校验、停止位和数据格式。不是开始位。那可能是我的问题吗?如果是这样,我该如何解决? 提前非常感谢!
【问题讨论】:
-
不,只有 1 个起始位,所以它不是您配置的东西。您应该假设该文档不正确并修改停止位、奇偶校验和波特率。
-
你说的是图片中的EO错误信息吗?文档链接会有所帮助。
-
八个数据位 with(偶数)奇偶校验(对于 ASCII)是一种有点不寻常的配置。如果您没有每帧发送 11 位,这可以通过 'scope 进行确认,那么这将导致帧错误。此外,请确保此“帧错误” 指的是 RS-232 数据字符,而不是消息帧。
-
我同意与偶校验配对的 8 个数据位非常奇怪。我还建议使用不同的串行分析仪链接 RealTerm 或 Termite。我在工作中使用 232Analyzer 的许可版本并且喜欢它,但免费版本对于真正完成您似乎正在从事的工作来说过于严格。
标签: serial-port