串口设置详解 本节主要讲解设置串口的主要方法
如前所述,设置串口中最基本的包括波特率设置,校验位和停止位设置
串口的设置主 要是设置struct termios结构体的各成员值,如下所示: #include struct termio { unsigned short c_iflag; /* 输入模式标志*/ unsigned short c_oflag; /* 输出模式标志*/ unsigned short c_cflag; /* 控制模式标志*/ unsigned short c_lflag; /*本地模式标志*/ unsigned char c_line; /* line discipline */ unsigned char c_cc[NCC]; /* control characters */ }; 在这个结构中最为重要的是c_cflag,通过对它的赋值,用户可以设置波特率、字符大小、 数据位、停止位、奇偶校验位和硬件流控等
另外c_iflag 和c_cc 也是比较常用的标志
在 此主要对这3 个成员进行详细说明
c_cflag 支持的常量名称如表6
其中设置波特率为相应的波特率前加上‘B’, 由于数值较多,本表没有全部列出
10 c_cflag支持的常量名称 CBAUD 波特率的位掩码 B0 0波特率(放弃DTR) 《嵌入式Linux应用程序开发详解》——第6章、文件IO编程 „ „ 续表 B1800 1800波特率 B2400 2400波特率 B4800 4800波特率 B9600 9600波特率 B19200 19200波特率 B38400 38400波特率 B57600 57600波特率 B115200 115200波特率 EXTA 外部时钟率 EXTB 外部时钟率 CSIZE 数据位的位掩码 CS5 5个数据位 CS6 6个数据位