在我的 linux 上得到以下输出。在这种情况下,TX、RX、IRQ、RTS、DTR、DSR 是什么意思。我已阅读有关数据终端就绪和发送请求的信息,但在下面显示的示例中需要帮助来理解它们。TX 和 RX 旁边的数字是否表示相应缓冲区中的当前字符数?
cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
您正在查看 Linux 串行终端(例如 UART 或 USART)设备驱动程序报告的硬件属性、统计数据和状态。
这些数字表示设备已处理(分别发送和接收)的帧数。
帧大小可配置;帧大小可以是 8 位的完整字节,或者 ASCII 字符只有 7 位。
帧大小通常也称为字符大小,尤其是在 UART/USART 数据表中,它不假定“字符”等同于 ASCII 代码。
此帧由
start
和stop
位分隔。这
irq
是该设备正在使用的(硬件)中断号。报告附加控制线(例如 RTS、DTR、DSR)的活动状态。
如果列出了控制线的名称,则该线处于断言状态。
如果未列出控制线的名称,则该线未断言或什至未连接。
但是,如果控制线没有正确(电)下拉/上拉并保持“浮动”,则控制线的报告仍然可能是虚假的(即它已列出但未连接)。
port:
表示该设备可在给定的I /O 端口地址访问。其他设备可能会改用内存映射的 I/O 地址,用
MMIO:
.要了解为什么您对“缓冲区”的引用不明确,请参阅串行终端和设备驱动程序关系的串行驱动程序以及所涉及的各种缓冲区一文 。
附录
除了发送和接收的帧计数外,还可以报告其他(接收器)统计信息(当大于零时):
这些接收器统计数据通常是硬件检测到的事件的计数,因此请查阅相关数据表以了解硬件报告的确切方式和内容。
除了你提到的RTS、DTR、DSR控制线外,还可以上报CTS、CD、RI。
此信息由驱动程序/tty/serial/serial_core.c 文件中的 Linux 内核例程uart_line_info()报告。