切换Windows C中串行端口上的CD(RLSD)信号线



我正试图在Windows应用程序控制的串行端口上设置载波检测(接收线路信号检测)引脚。我已经可以使用以下功能将RTS线设置为高:

EscapeCommFunction(handle, SETRTS);

然后使用清除

EscapeCommFunction(handle, CLRRTS);

我希望能够对CD行执行完全相同的操作,但EscapeCommFunction不存在这样的SET/CLR标志。

PC串行端口是从终端而非调制解调器的角度设计的。CD信号是来自调制解调器的输出和到终端的输入。即使端口硬件允许你改变方向(我对此持怀疑态度),标准接口也不会以这种方式编程。

RS232设备可以是DTE(数据终端设备)或DCE(数据通信设备)。DCE的例子有调制解调器、多路复用器和一些线路驱动器(从技术上讲是调制解调器),包括计算机在内的所有其他设备都是DTE。

DCD(RLSD)是DCE的输出,用于指示已检测到通信链路上的载波,即可以看到远程调制解调器。

我不知道如何将DTE转换为具有标准串行端口的DCE。

最新更新