Linux串口编程c_cc字符配置

时间:2015-09-30 07:01:22

标签: c linux serial-port

通过以下链接引用来源: Serial_Port_Programming_How_To

我发现那里有c_cc字符配置。 在寻找感情后,我没有找到确切的答案。 我尝试注释掉这些c_cc配置的每一行,发现以下行确实会影响输出。

newtio.c_cc[VEOF]     = 4;

任何人都可以解释这个的含义,也可能解释其余的含义吗?

谢谢

1 个答案:

答案 0 :(得分:1)

根据建议,termios的手册页是一个起点:

  

<强> VEOF

     

(004,EOT,Ctrl-D)文件结束字符(EOF)。更多   准确地说:这个字符导致挂起的tty缓冲区   发送到等待的用户程序而不等待行尾。如果它是该行的第一个字符,则为read(2)   在用户程序中返回0,表示文件结束。   设置ICANON时识别,然后不作为输入传递。

在给定链接3.1. Canonical Input Processing的上下文中,OP已观察到评论作业

newtio.c_cc[VEOF]     = 4;

阻止^D按预期工作。那个和类似的赋值对应于可能用于stty的shell脚本的设置。在内部(使用 termios ),在分配0xff时,这些值设置为未定义值,但默认0x00几乎一样好。