串口终端有c_cflag,c_iflag,c_oflag,c_lflag,c_cc[]五大struct termios结构体项需要设置;其中,c_cflag控制模式标志;c_iflag输入模式标志;c_oflag输出模式标志;c_lflag本地模式标志;c_cc[]控制字符数组;
6.1 c_iflag 标志常量
IGNBRK 忽略输入中的 BREAK 状态。
BRKINT 在BREAK 时产生SIGINT 信号。
IGNPAR 忽略奇偶校验出错的字符
PARMRK 标记奇偶校验错
INPCK 允许输入奇偶校验。
ISTRIP 屏蔽字符第8位。
INLCR 将输入中的 NL 翻译为 CR。
IGNCR 忽略输入中的回车。
ICRNL 将输入中的回车翻译为新行 (除非设置了 IGNCR)。
IUCLC 将输入中的大写字母映射为小写字母。
IXON 启用输出的 XON/XOFF 流控制。
IXANY 允许任何字符来重新开始输出。
IXOFF 启用输入的 XON/XOFF 流控制。
IMAXBEL 当输入队列满时响零。Linux 没有实现这一位,总是将 它视为已设置。
6.2 c_oflag 标志常量
OPOST 执行输出处理
OLCUC 将输出中的小写字母映射为大写字母。
ONLCR 将输出中的新行符映射为回车-换行。
OCRNL 将输出中的回车映射为新行符
ONOCR 不在第 0 列输出回车。
ONLRET 不输出回车。
OFILL 发送填充字符作为延时,而不是使用定时来延时。
OFDEL 填充字符是 ASCII DEL (0177)。如果不设置,填充字符则是 ASCII NUL。
NLDLY 新行延时掩码。取值为 NL0 和 NL1。
CRDLY 回车延时掩码。取值为 CR0, CR1, CR2, 或 CR3。
TABDLY 水平跳格延时掩码。取值为 TAB0, TAB1, TAB2, TAB3 (或 XTABS)。取值为 TAB3,即 XTABS,将扩展跳格为空格 (每个跳格符填充 8 个空格)。(?)
BSDLY 回退延时掩码。取值为 BS0 或 BS1。(从来没有被实现过)
VTDLY