如何知道哪个ttyS *文件链接到哪个串口?

时间:2014-02-27 03:25:34

标签: linux serial-port

我不是Linux或串口编程的专家,我对Linux串口通信的理解是:系统将某些/ dev / ttyS *文件链接到某个物理串口,然后系统或其他程序可以与之交谈通过/ dev / ttyS *文件连接到该串行端口的任何设备。并且/ dev / ttyS *文件将被分配/链接到串口,无论是否连接任何设备。

如果我对此是正确的,那么在C中是否有任何方法可以获得所有链接到物理串口的/ dev / ttyS *文件?

已经搜遍过Google和所有搜索结果,没有找到真正有帮助的内容,请停下来!

PS,我可以通过以下方式找到这样的文件:

dmesg | grep ttyS

但是我需要更精确的方法来获取这些信息,像libudev这样的东西可以做到这一点吗?

1 个答案:

答案 0 :(得分:0)

我并不完全确定这里要问的是什么,但映射/ dev / ttyS *的方式在年龄上没有变化,第一个串口,有时用DOS名称COM1调用,仍可以{{1 },第二个是/dev/ttyS0,依此类推。

从内核文档,即文件/dev/ttyS1,您仍然可以找到一些有用的信息:

Documentation/devices.txt

如果您的问题如何查找系统上的所有串口,请参阅4 char TTY devices 0 = /dev/tty0 Current virtual console 1 = /dev/tty1 First virtual console ... 63 = /dev/tty63 63rd virtual console 64 = /dev/ttyS0 First UART serial port ... 255 = /dev/ttyS191 192nd UART serial port UART serial ports refer to 8250/16450/16550 series devices. 哪些应该具有(除非您使用的内核非常古老)条目-id和by-uuid。