是否有实用软件(或从shell脚本进行操作的简单方法)来显示串行端口的状态--即闪烁“RXD”、“TXD”、“DCD”、“DTR”、“DSR”、“RTS”、“CTS”?特别是,我需要监视“DCD”行是否在大部分时间内被设置,并在某个时间间隔内暂时清除。端口不需要被嗅探,完全可以打开它。
在DOS和Windows世界中,终端模拟器和其他与调制解调器相关的软件通常在GUI或控制台应用程序中显示引脚状态。然而,即使对于Linux,我也找不到替代的方法(尽管有些人说,如果/proc/tty/driver/serial存在的话,可以手动检查它),更不用说FreeBSD了,这是我的实际目标。像cu和minicom这样的常用工具最多只能显示端口设置,而不是状态。
发布于 2015-01-03 00:56:33
AFAIK您可以使用端口读取DCD引脚。根据https://www.freebsd.org/doc/en/articles/serial-uart/,DCD生活在Modem状态寄存器(端口0x06+PORT_ADDR)的第7位。但是,对于您的应用程序Bit 3,DDCD可能更好。也可以挂起中断,看看Modem Status Change中断。
发布于 2022-07-21 23:06:09
Ckermit是一个非常有能力的基于Unix的计算机串行/调制解调器通信程序,但我不记得它是否支持可视化显示RS232控制引脚状态的功能。自从哥伦比亚大学于2011年停止对该项目的支持以来,该项目的速度有所放缓,但似乎正在恢复。
我无法从www.kermitproject.org中判断它是否具有这种功能。许多Linux发行版都有ckermit包,也许值得一试。
https://unix.stackexchange.com/questions/171951
复制相似问题