我正在尝试使用 RS-485 在两个 LPC1765 设备之间实现简单的通信。我正在使用这个添加到我的菜单系统的示例(这是 LPC17xx 的基本示例):
http://www.codeforge.com/read/155431/rs485.c__html
http://www.codeforge.com/read/155431/rs485.h__html
http://www.codeforge.com/read/155431/rs485test.c__html
因此,两个设备都使用 RS485Init() 正确初始化。当我使用从地址作为第一个字节的 RS485Send 发送数据时,结果是:
(1) 如果设备断开,发送器接收到自己的通信(UARTBuffer 的内容被更新
(2) 如果设备已连接,则没有任何反应——传输的缓冲区在某处丢失(UARTBuffer 不变)
现在硬件应该已正确连接,所以我将列出一些内容以供参考。RS485_TXD/RXD上有一个U59 SN65HVD1781D驱动,有RS485_OF、RS485_MASTER_PWR和RS485_MASTER_MFAS和一个稳压器。有一个 RS485 从检测电路和 UP/DOWN 连接。每个设备都连接了四个触点,它们是(我认为)RS485_UP、RS485_A+、RS485_B- 和 RS485_DOWN。顶部和底部都有一个 4 针连接器,用于按顺序连接设备,如果一切正常,最顶部的设备将承担所有底部设备的主机状态。