PRUSS1_UART被配置为RS485模式下的串行端口。 为RTS功能分配GPIO。 RTS信号用于RS485收发器方向控制。 UART传输和接收操作经过测试,可通过手动设置RTS线路正常工作。 但是,RS485操作的RTS线路自动控制不起作用,因为没有接收到TX完成中断。 SER_RS845,_ENABLED,RTS_ON_SEND,!RTS_After _SEND已在软件中设置。
-传输后RTS线路不会取消声明。
-tcDRAIN (FD)系统调用不返回。
devic松 树项是基于AM335xSDK设备树完成的。 我们不确定相同的中断映射和其他设置是否有效,并且没有找到适合它的文档。
请您帮助我们进行正确的配置吗?
处理器UART1-UART5的其他UART配置与外部GPIO相似,并且工作正常。 下面是devicShree的设置-
pruss_TM -> pruss1 ->
prus1_UART:串行@2.8万 {
兼容="ti,pruss-UART";
REG =<0x2.8万 0x38>;
Clocks =<&DPLL_Per_m2_ck>;
interrup-parent =<&prus1_INTC>;
中断=<6>;
状态="已禁用";
};
&prus1_UART{
PRU =<&pru1_0>;
TI,PRU-INTERRUC-MAP =<0 6 2 2>;
pinctrl-names ="default";
RTS-GPIOs =<&GPIO1 6 GPIO主动_高>;
Linux,RS485启用-启动时;
pinctrl-0 =<&prus1_UART_PINS>;
状态="正常";
};