gpt4 book ai didi

c - termios 在嵌入式设备上截断的串行数据

转载 作者:太空宇宙 更新时间:2023-11-04 04:06:47 27 4
gpt4 key购买 nike

我正在开发一个 C 程序,用于监听在 ARM Linux 嵌入式设备上运行的串口。

其他数据集工作正常,但当我发送一组特定数据时,数据集的开头总是被截断。被截断的内容如下(目标上运行的slsniff程序输出):

Device --> ^ (094) { (123) <STX> (002) <BS> (008) <STX> (002) <NUL> (000) <NUL> (000) <STX> (002) <SOH> (001) <ETX> (003)

我已经进行了充分的调试,可以相当确定这是由某些 termios 常量引起的,该常量使用文本结尾的 ETX 进行截断。

现在我要:

struct termios t;

t.c_lflag &= ~(ICANON | IEXTEN | ECHO);
t.c_iflag &= ~ICRNL;
t.c_cc[VMIN] = 1; /* Character-at-a-time input */
t.c_cc[VTIME] = 0; /* with blocking */

设置的分隔符是一个 CR 0x0d,似乎在所有情况下都可以正常工作。

非常感谢任何帮助。

最好的问候,伯特

最佳答案

答案是:

cfmakeraw 如 http://linux.die.net/man/3/termios 所述

关于c - termios 在嵌入式设备上截断的串行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5173037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com