繁体   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