https://e2e.ti.com/support/processors-group/processors/f/processors-forum/643037/am4379-rs485-issues
器件型号:AM4379主题中讨论的其他器件:SN65HVD08
大家好、团队、
我的客户在使用 Sitara 处理器和 RS485时遇到一些技术问题:
他们正在尝试通过 SN65HVD08收发器在 Linux 下与 Sitara (AM437x)处理器建立 RS485通信、并使用 UART_2 (/dev/ttyS2)和 GPIO3_22来控制发送/接收。 8250 OMAP UART 驱动程序在内核中启用。
有两个问题:
1。
只要 GPIO3_22引脚被拉至高电平,就可以从/dev/ttyS2串行端口读取一个‘0’字符。 ‘d在 Linux 下使用‘pollt’命令,文件描述符为‘/dev/ttyS2’,等待 ata ready’事件。 他们为什么会收到这个额外的字符?
2.
他们在确切了解消息传输何时准备就绪时遇到问题。 它们将发送8个字符(每个字符1个开始位+ 8个数据位+ 2个停止位)、另一个器件在其处理准备就绪时进行应答。 ‘使用‘tcDRAIN’Linux 函数等待每个字符的传输,但传输速度太慢。 在‘每一位输出后,tcDRAIN’将以大约4-5ms 的延迟返回,这是太大的,因为另一个器件在大约2-3ms 的时间内开始传输。 是否有任何解决方案可以解决此问题、并在发送最后一位后立即获取任何事件?
请帮您解决这个问题吗?
谢谢、
Peter