1

我有使用所有字符符号进行通信的设备。我知道传输消息的固定长度,并且我正在使用 termio.h 与此设备进行通信。问题是当符号数组之一为空符号 (\0) 时,我无法读取整个消息。读取功能此时停止,我的消息不完整。这很奇怪,因为我可以(使用函数 write())编写任意数量的空符号。我知道每个字符串都假设为空结尾,但我需要阅读这些空符号,有没有办法做到这一点?谢谢!

4

1 回答 1

1

在下面的非规范模式下打开您的串行端口

options.c_lflag &= ~ICANON;

如果您没有此标志,默认情况下串行端口以规范模式打开。

在非规范模式下,您将收到“原始”字节,我想这是您需要的

正在接收各种字符。

于 2013-08-09T06:29:17.343 回答