1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2017年6月30日 |
---|
#7 in #rts
每月下载量391
用于profirust
9KB
113 行
Rust/Linux RS485控制
控制Linux串行端口上的RS485功能(自动RTS启用/禁用收发器上的驱动程序)。与serial-rs集成良好。
查看文档以获取详细信息。
lib.rs
:
串行设备的RS485支持
RS485是一种数据传输的低级规范。虽然规范只定义了电气参数和很少的其他内容,但在实际中,它通常用于串行数据传输。
为了实现RS485连接,通常使用机器的UART。这些支持发送和接收,每个通过一个专门的RX(接收)和TX(发送)引脚。通过这种方式可以直接连接RS232,以实现全双工(同时发送和接收)连接。
RS485与RS232在重要方面有所不同:不是为发送和接收各自分配一条线路,而是使用两根线传输差分信号。结合更高的电压水平和双绞线布线,这可以实现更可靠的传输结果。
一个有效全双工RS485连接需要一个收发器芯片和四根线,两根用于RX和TX。为了将线数减少到两根,可以使用合适的协议来建立双向半双工连接。通常,一个"主"设备将打开其线路驱动器,发送请求,然后关闭它并等待回复。
大多数收发器都有专门的引脚用于打开和关闭线路驱动器。在发送前打开驱动器,在传输完成后关闭它,这是实现这些协议的要求。
通常,UART的RTS(请求发送)引脚以某种方式连接,使得在RTS打开时收发器启用线路驱动器,而在RTS关闭时启用接收器。由于这种功能很常见,内核串行驱动程序通常支持打开/关闭RTS。此crate允许配置该功能,前提是设置正确。
遇到RS485问题时,请验证UART的RTS引脚是否确实连接到收发器,是否已正确引脚复用(如果需要)以及UART本身是否已启用。
依赖项
~185KB