簡體   English   中英

使用unistd.h中的read()缺少字符

[英]Missing characters using read() from unistd.h

我們使用unistd.hread()方法從Linux環境中的串口接收數據。 要專門從/dev/ttys1讀取數據。

我們收到的部分數據包括字符0x0A (換行符)和0x0B (垂直制表符),但庫似乎忽略了它們。

我的意思是,我們使用unsigned char[]來存儲從端口獲得的數據,並且數組包含除這些字符之外的所有數據。

你認為這可能是錯的?

ttys中? 您確定將終端驅動程序置於正確的狀態以傳遞這些字符嗎? (參見tcgetattr和tcsetattr)。 根據您的精確設置,您可以使用stty程序以交互方式使用這些設置。

你怎么知道你應該讀0x0A和0x0B? 您是否正在使用任何機制來“調試”電線,以確定您應該閱讀的消息是什么? read()函數不假設數據正在讀取,因此如果丟失了任何字節,則應該在程序的任何其他部分。

希望這對你有所幫助。 謝謝,塞爾吉奧。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM