// my configuration using RXTX library in java
SerialPortObj.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN | SerialPort.FLOWCONTROL_RTSCTS_OUT);// Hardware flow control settings
SerialPortObj.setRTS(true);
SerialPortObj.notifyOnCTS(true);
我假设串行接口标准本身在每次发送和接收数据之前都使用 RTS / CTS 握手来维护硬件流控制。
我的问题陈述是我想在每次发送实际数据之前,必须将 RTS 信号发送到接收器,接收器用 CTS 信号确认。
答案 0 :(得分:1)
有3种流量控制模式:
如果要使用RTS / CTS方法管理rs-232上的流量控制,则必须为此模式配置串行端口:
serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN |
SerialPort.FLOWCONTROL_RTSCTS_OUT);
serialPort.setDTR(true);
您需要配置通知后:
serialPort.addEventListener(this);
serialPort.notifyOnCTS(true);
serialPort.notifyOnDSR(true);
serialPort.notifyOnOutputEmpty(true);
之后,硬件流控制将像魅力一样工作。
如需完整代码,请访问:
https://raw.githubusercontent.com/andrelup/GSM-gateway/master/GSMConnect