我使用 UART 外设的 RS485 模式进行通信。 我将波特率设置为 300,600 和 1200。 在这三种设置期间、主机和 MCU 之间没有正常通信。 不过、其他波特率是正常的。 这可能是什么原因?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我使用 UART 外设的 RS485 模式进行通信。 我将波特率设置为 300,600 和 1200。 在这三种设置期间、主机和 MCU 之间没有正常通信。 不过、其他波特率是正常的。 这可能是什么原因?


如下面两张图所示、第一张图显示了波特率为 9600 时的情况、第二张图显示了波特率为 600 时的情况。 黄色部分代表 MCU 的 RX 引脚、绿色部分代表 MCU 的 TX 引脚。 但是、目前的情况有一些变化。
(1) 波特率为 9600 时、当我使用 GPIO 控制 RS485 的 Cx 引脚来控制通信时、如果我通过示波器探头连接 MCU 的 RX 引脚、整个通信将中断。
(2) 为什么上述两张图片中的波形相同? 这是我发现的第二个问题。 也就是说、当我使用 RTS 控制通信、然后使用示波器探头以 600 的波特率测量 RX 和 TX 波形时、它实际上能够正常通信。
我确实使用了 RS485 转换器芯片。 我将探头放置在 RS485 芯片的 TX 和 RX 引脚上。 您收到的两张图片是通过拍摄 RS485 芯片的 TX 和 RX 引脚拍摄的(只有波特率不同)。 但是、MCU 侧 TX 和 RX 引脚上的波形与我发送给您的两张图片中的波形相同。 我将它放在这一侧的原因很简单、因为与 MCU 侧相比、使用示波器测试这一侧的引脚更方便。 我的连接方式是:MCU- RS485 芯片 — RS485 通讯适配器 — USB-连接到电脑。