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

标签 c++ linux serial-port std unistd.h

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

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

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

您认为它可能有什么问题?

最佳答案

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

关于c++ - 使用 unistd.h 中的 read() 缺少字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5070557/

相关文章:

c++ - 在没有 root 权限的情况下在 C++ 中打开共享文件

linux - 运行脚本跳过文件

java - 字符串串行通信

java - Java Socket 客户端和 C++(基于 Boost)服务器之间的联网

c++ - 结构变量成员后的花括号是什么意思?

c++ - 将 C++ __fastcall Hook 从 x86 移植到 x64

c++ - Linux I/O 管理器

c++ - GDB 无法插入内部断点

c - 使用 C/C++ 在 Linux 中与终端交互

objective-c - Opticon F31 无法进入 VCP/串行模式