0

我们在 Linux 环境中使用read()from 方法从unistd.h串口接收数据。专门从中读取数据/dev/ttys1

我们收到的部分数据包括字符0x0A(换行)和0x0B(垂直制表符),但库似乎忽略了它们。

我的意思是,我们使用 anunsigned char[]来存储从端口获取的数据,并且该数组包含除了那些字符之外的所有数据。

你认为这可能是什么错误?

4

2 回答 2

2

tty?您确定将终端驱动程序置于正确的状态以传递这些字符吗?(参见 tcgetattr 和 tcsetattr)。根据您的精确设置,您可以使用 stty 程序以交互方式播放这些设置。

于 2011-02-21T20:11:57.867 回答
0

你怎么知道你应该阅读 0x0A 和 0x0B ?您是否使用任何机制来“调试”线路以确定您应该阅读的消息是什么?read() 函数不假设正在读取数据,因此如果丢失任何字节,则应该在程序的任何其他部分中。

希望这对您有所帮助。谢谢,塞尔吉奥。

于 2011-02-21T20:02:11.747 回答