手动控制串口引脚(TxD和RxD)

时间:2011-12-16 13:42:20

标签: c++ winapi serial-port

我正在研究与RS-232接口操作相关的一些想法。我可以打开此端口,配置它,写入或读取数据,并使用WinAPI执行其他操作。但我不知道如何控制各个针脚。我可以通过EscapeCommFunction函数控制DTR和RTS行。但我需要使用TxD和RxD线进行操作(“将它们”“打开”或“关闭”,二进制)。这可能在Windows 7中?

1 个答案:

答案 0 :(得分:4)

您无法操纵RxD线,因为它是输入。

通过播放com端口的中断状态,可以将TxD线设置为连续ON或OFF。 SetCommBreakClearCommBreak将是允许您这样做的API函数。


如果一次只能激活一个输出,则可以使用解码器芯片(例如74137)将3个输出扩展为8个输出。在切换输入时要小心瞬态输出。

您还可以使用移位寄存器芯片(例如74164)将2个输出(一个时钟和一个信号)扩展为8个输出。您可以通过菊花链移位寄存器获得更多输出。

如果您决定使用这些IC,请确保不要使输入过载。 RS-232电压电平与TTL电压电平不同。检查规格表。您可能必须使用钳位二极管或RS-232收发器。

另一种选择是使用parallel port。并行端口有8条双向线路和少量其他控制线路。查看InpoutUniportio库,了解如何从Windows访问并行端口。

看到串口和并口已经过时了,我认为最好的办法就是使用USB I / O板。你可以找到一些比并行电缆便宜的产品。其中一些具有接线盒,可以轻松与您的实验进行交互。