RS485的流控制
概述
RS485有流控制端,有用外部的硬件电路搭建一个自动流控制的。如下面的电路图:
这种电路只需要MCU提供RX和TX端,nRE/DE端自动控制。也有在外部用MCU的另一个管脚连接nRE/DE端的,用MCU控制。下面我们来说说使用Arduino为ESP8266的外接流控制端nRE/DE。
外部控制nRE/DE
本博客中的文章介绍了延时和中断方式对流控端进行控制的方法。但在ESP8266中串口有限,用软串口时还可以使用库函数:
/// Transmit control pin.
void setTransmitEnablePin(int8_t txEnablePin);
用这个函数对使用的外部RS485的控制端进行设计,在程序中可以不用理会对这个端子的控制,这个端可以完成自动控制。
具体控制可以参考arduino下面的库中的\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\SoftwareSerial\src中的头文件和CPP文件。