是否可以在windows中查询串行端口tx引脚状态(信号低/高)?

是否可以在windows中查询串行端口tx引脚状态(信号低/高)?,windows,serial-port,uart,Windows,Serial Port,Uart,如果串行端口tx(发送)引脚处于活动状态或未处于活动状态,是否可以查询其状态 例如,当issuin break命令(SetCommBreak)tx引脚设置为激活(低)时。我想知道它何时处于活动状态。谢谢。没有(至少不太可能) 如果您使用的是UART的“16550”系列,那么我相信您无法查询串行端口tx引脚状态。当然,如果您使用的是一些新版本或其他UART系列,可能 在执行SetCommBreak()时,您可以假设TX引脚处于空间状态('0',+伏),但我怀疑这对您来说还不够 如果您希望调试代码

如果串行端口tx(发送)引脚处于活动状态或未处于活动状态,是否可以查询其状态

例如,当issuin break命令(SetCommBreak)tx引脚设置为激活(低)时。我想知道它何时处于活动状态。谢谢。

没有(至少不太可能)

如果您使用的是UART的“16550”系列,那么我相信您无法查询串行端口tx引脚状态。当然,如果您使用的是一些新版本或其他UART系列,可能

在执行
SetCommBreak()
时,您可以假设TX引脚处于空间状态('0',+伏),但我怀疑这对您来说还不够


如果您希望调试代码以了解是否发生中断,则可以短接9针D-sub上的插脚2和3,从而将传输回退到接收。回形针就行了。您的接收代码将检测到传入的中断。对不正确的引脚短路不会导致一致的串行端口出现持久的问题,但要小心。在测试中断条件之前,先用简单的数据尝试一下


如果你有一个类似UART的“16550”


您可以将UART置于环回模式,并查看是否接收到自己的传出中断信号。它在当前的PC中有点复杂。其他UART类型可能支持环回。

谢谢您的回答。是的,我有16550 UART的普通PC。我想知道realterm程序如何知道如何打开TX和RX引脚状态。但现在我知道这必须在程序中完成。它的工作原理可能是这样的:在读-转-接收指示灯期间,以及在写-转-发送期间。它还可以检测“断开条件”或“空间状态”。“你可以短插脚……从而循环回接”——嗯,你要找的动词是“循环回接”。“对不正确的引脚短路不会导致持久的问题”——这是EIA/RS232收发器驱动芯片的要求,但不是逻辑级UART/USART设备的要求。顺便说一句-大多数UART/USART检测并报告状态寄存器中的中断情况。通常,配置/使用该状态寄存器中的更改(例如,检测到中断或调制解调器控制信号更改)来生成中断。