我们正在制作一个设备,它有8个串口。它运行在Monta Vista Pro5内核上。我们使用C语言进行开发。
假设:一个设备连接到ttyUSB0,ttyUSB1和ttyUSB2。下一个设备连接到ttyUSB3,另一个设备连接到ttyUSB4。我怎么知道哪个设备连接到了哪个端口?例如是ttyUSB0还是ttyUSB1等等。是否有一种直接查询设备并找出其所连接端口的方法?或者在C语言中打开ttyUSB0后,以某种方式查询,获取关于其所连接设备的回复?
以下是两种比较复杂的方法:一种是对/dev/ttyUSB0执行stat操作,获取设备号,然后在/proc/bus/usb/devices中搜索该设备号,以查找厂商ID或其他可用于识别该设备的信息;另一种则是当设备插入时为每个设备保留ttyUSB0、ttyUSB1和ttyUSB2,并为其他设备保留ttyUSB3等端口。通过这种方式,我将知道哪个设备连接到了哪个端口。
希望能得到帮助... :)
提前致谢, Nubin Stanley
假设:一个设备连接到ttyUSB0,ttyUSB1和ttyUSB2。下一个设备连接到ttyUSB3,另一个设备连接到ttyUSB4。我怎么知道哪个设备连接到了哪个端口?例如是ttyUSB0还是ttyUSB1等等。是否有一种直接查询设备并找出其所连接端口的方法?或者在C语言中打开ttyUSB0后,以某种方式查询,获取关于其所连接设备的回复?
以下是两种比较复杂的方法:一种是对/dev/ttyUSB0执行stat操作,获取设备号,然后在/proc/bus/usb/devices中搜索该设备号,以查找厂商ID或其他可用于识别该设备的信息;另一种则是当设备插入时为每个设备保留ttyUSB0、ttyUSB1和ttyUSB2,并为其他设备保留ttyUSB3等端口。通过这种方式,我将知道哪个设备连接到了哪个端口。
希望能得到帮助... :)
提前致谢, Nubin Stanley