cfgetospeed , cfsetospeed , cfgetispeed 或 cfsetispeed 子例程
用途
获取和设置输入和输出波特率。
库
标准 C 库 (libc.a)
语法
#include <termios.h> speed_t cfgetospeed ( TermiosPointer)
const struct termios *TermiosPointer;
const struct termios *TermiosPointer;
speed_t cfgetispeed (TermiosPointer)
const struct termios *TermiosPointer; int cfsetispeed (TermiosPointer, Speed)
struct termios *TermiosPointer;
speed_t Speed;描述
提供了波特率子例程,用于获取和设置 termios 结构中的输入和输出波特率的值。 在成功调用 tcsetattr 函数之前,对以下描述的终端设备的影响不会生效,并且不会检测到所有错误。
输入和输出波特率存储在 termios 结构中。 在此讨论后的 表 中显示了波特率的受支持值。
termios.h 文件将类型 speed_t 定义为无符号整数类型。
cfgetospeed 子例程返回存储在 TermiosPointer 参数所指向的 termios 结构中的输出波特率。
cfsetospeed 子例程将存储在 TermiosPointer 参数指向的 termios 结构中的输出波特率设置为 Speed 参数指定的值。
cfgetispeed 子例程返回存储在 TermiosPointer 参数指向的 termios 结构中的输入波特率。
cfsetispeed 子例程将存储在 TermiosPointer 参数指向的 termios 结构中的输入波特率设置为 Speed 参数指定的值。
在 termios 结构中设置并传递到 tcsetattr 函数时,速度的某些值具有特殊含义。 这些值在 tcsetattr 子例程中讨论。
下表列出了可能的波特率:
波特率值
| 名称 | 描述 |
|---|---|
| B0 | 挂断 |
| B5 | 50 波特 |
| B75 | 75 波特 |
| B110 | 110 波特 |
| B134 | 134 波特 |
| B150 | 150 波特 |
| B200 | 200 波特 |
| B300 | 300 波特 |
| B600 | 600 波特 |
| B1200 | 1200 波特 |
| B1800 | 1800 波特 |
| B2400 | 2400 波特 |
| B4800 | 4800 波特 |
| B9600 | 9600 波特 |
| B19200 | 19200 波特 |
| B38400 | 38400 波特 |
termios.h 文件定义表的名称符号。
参数
| 项 | 描述 |
|---|---|
| TermiosPointer | 指向 termios 结构。 |
| 速度 | 指定波特率。 |
返回值
cfgetospeed 和 cfgetispeed 子例程正好返回在 termios 数据结构中找到的值,而不进行解释。
cfsetospeed和 cfsetispeed子程序成功时返回 0,不成功时返回-1。
示例
要将输出波特率设置为 0 (这将强制调制解调器控制线路停止断言) ,请输入:
cfsetospeed (&my_termios, B0);
tcsetattr (stdout, TCSADRAIN, &my_termios);