cxx笔记14-串口操作

struct termios

struct termios  
{  
    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]; /* 控制字符特性*/  
};

struct termios 结构用来持有所有的当前线路设置, 给这个 tty 设备的一个特定端口. 这些线路设置控制当前波特率, 数据大小, 数据流控设置, 以及许多其他值.

tcsetattr

tcgetattr

int fd;
fd = open((char*)devName,O_RDWR|O_NOCTTY);
struct termios opt;
tcgetattr(fd,&opt);ccqalc

tcgetattr函数用于获取与终端相关的参数。参数fd为终端的 文件描述符,返回的结果保存在termios 结构体中,该结构体一般包括如下的成员:

tcflag_t c_iflag;

tcflag_t c_oflag;

tcflag_t c_cflag;

tcflag_t c_lflag;

cc_t c_cc[NCCS];

其具体意义如下。
c_iflag:输入模式标志,控制终端输入方式,具体参数如表1所示。

tcflush

bzero

bzero函数是c++ string.h中的函数。

功能描述:置字节字符串前n个字节为零且包括‘\0’。

原型:extern void bzero(void *s, int n);
参数说明:s 要置零的数据的起始地址; n 要置零的数据字节个数。
用法:#include <string.h>
功能:置字节字符串s的前n个字节为零且包括‘\0’。
说明:bzero无返回值,并且使用string.h头文件,string.h曾经是posix标准的一部分,但是在POSIX.1-2001标准里面,这些函数被标记为了遗留函数而不推荐使用。在POSIX.1-2008标准里已经没有这些函数了。推荐使用memset替代bzero。

posted @ 2024-06-30 17:25  alvinlyb  阅读(2)  评论(0编辑  收藏  举报