我正在用C編寫應用程序,它通過驅動程序和計算機之間的串行端口進行通信。 當我在使用白蟻1.8的Windows上測試應用程序時,我添加了Append LF選項,並且一切正常。但是當我運行Linux並打開膩子或屏幕時,我的驅動程序沒有響應。UNIX發送CR而不是LF
所以我有紅色的關於「行尾」的話題。但之後,我在linux上做了很多改變,但仍然無法正常工作。 下一步是從串行geting每個位,當我輸入「help [ENTER]」我得到:
- 在Windows(白蟻)「幫助」 - > 0x68(h)0x65(e)0x6c(l)0x70 (p)的0X0A(CR:回車,U + 000D)
-On Ubuntu的(使用屏幕和油灰導致相同) 「幫助」 - > 0x68(H)0x65(e)中0x6c(L) 0x70(p)0X0D(LF:換行,U + 000A)
而我的結論是,在我的情況是比成反比維基百科上的discribed(在thise 「標準」 程序的情況下)
最後我的問題是:「是否可以設置膩子/屏幕或可能下載其他程序的Linux有手動設置ENTER鍵的符號?
'stty'命令具有選項'onlcr'來將NL映射到輸出上的CR-NL(CRLF)。你也許可以利用它,但你也必須擔心終端仿真器。還有其他相關的選項,例如'ocrnl'和'onocr'和'onlret'來進行調查。關於Unix的最初的嘲諷意見之一是「Unix非常聰明,可以模仿任何其他系統,而其他系統足夠愚蠢,無法相信它」。 –