
我有一個正在運行的串行設備,除了讀取其輸出外,我需要從中讀取資料(我完全無法控制設備本身);在 Windows 中使用超級終端,我能夠檢測到有意義的流量,昨天當我使用 cat (或我自己的小 C 程式來讀取資料並將其列印到標準輸出)時,它運作得很好。
今天,當我使用 cat/我的程式時,我得到的只是一種損壞的數據,但超級終端仍然顯示數據。
可能出了什麼問題?怎麼可能昨天還有效,今天卻不行?
我正在/正在閱讀的文件是/dev/ttyUSB1
*請注意,我從不同時運行我的程式和貓,一次只運行其中一個。
答案1
SO 上有人暗示了正確的方向;問題出在波特率上,它被設定為與我需要的不同的值。
檢查波特率:
stty -F /dev/ttyUSB1
設定波特率:(
stty -F /dev/ttyUSB1 57600
在我的例子中,57600 是我的設備所需的波特率)
現在它就像魅力一樣發揮作用。
答案2
串行埠是特別奇怪的野獸。您將需要使用 Old School 終端仿真程式。我曾經認為tip
這是最好的,但似乎沒有人擁有它的來源了。cu
自備UUCP,安裝和設定非常麻煩,根本不用費心。
快速谷歌搜尋告訴我人們傾向於使用小型計算機這些日子。這是一個堆疊溢位問題這似乎有一定的影響,至少在使用minicom
與 USB 串行設備通訊時是如此。
讓我們知道結果如何。更新您的問題或發表評論或其他內容。