cfgetospeed , cfsetospeed , cfgetispeed 或 cfsetispeed 子例程

用途

获取和设置输入和输出波特率。

标准 C 库 (libc.a)

语法

#include <termios.h>
speed_t cfgetospeed ( TermiosPointer)
const struct termios *TermiosPointer;
int cfsetospeed (TermiosPointer,  Speed)
struct termios *TermiosPointer;
speed_t Speed;
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 结构。
速度 指定波特率。

返回值

cfgetospeedcfgetispeed 子例程正好返回在 termios 数据结构中找到的值,而不进行解释。

cfsetospeed cfsetispeed子程序成功时返回 0,不成功时返回-1。

示例

要将输出波特率设置为 0 (这将强制调制解调器控制线路停止断言) ,请输入:

cfsetospeed (&my_termios, B0);
tcsetattr (stdout, TCSADRAIN, &my_termios);