我不是Linux或串口編程的專家,我對Linux串口通信的理解是:系統將某個/ dev/ttyS *文件鏈接到某個物理串口,然後系統或其他程序可以與任何通過/ dev/ttyS *文件附加到該串行端口的設備。無論連接了什麼設備,/ dev/ttyS *文件都將被分配/鏈接到串行端口。如何知道哪個ttyS *文件鏈接到哪個串口?
如果我對這個問題是正確的,那麼在C中有什麼辦法可以獲得鏈接到物理串行端口的所有這樣的/ dev/ttyS *文件嗎?
已經搜遍了谷歌和SO,沒有什麼真正有用的發現,PLZ halp!
PS,我可以通過找到這些文件:
dmesg | grep ttyS
,但我需要一個更精確的方式來獲得這些信息,像libudev能做到這一點?
那麼,這些ttyS *文件總是存在/ dev /文件夾下,對吧?可能有幾十個。但是在我的主板上,可能只有一個物理串行端口,所以我的問題是,哪一個ttyS *文件是我可以與物理串行端口通信的確切的一個,系統會自動將一個物理串行端口與一個ttyS *文件,對吧? @SamiLaine – Sean
但是,在/ dev/serial中,只有那些實際存在的udev節點。 –
酷!但是我找不到/ dev/serial文件夾,在/ dev中沒有名爲「serial」的文件夾,甚至沒有關閉。我正在使用CentOS 6.4 x64,我應該在其他地方看嗎? @薩米 - 萊恩 – Sean