cfsetispeed和cfsetospeed函数---波特率设置;cfgetispeed和cfgetospeed函数---获取波特率信息;tcflush函数

头文件:#include <termios.h>

函数原型:int cfsetispeed(struct termios *termptr, speed_t speed);

     int cfsetospeed(struct termios *termptr, speed_t speed);

     int cfgetispeed(struct termios *termptr, speed_t speed);

     int cfgetospeed(struct termios *termptr, speed_t speed);

说明:对于波特率的设置通常使用cfsetispeed和cfsetospeed函数来完成。

   获取波特率信息是通过cfgetispeed和cfgetospeed函数来完成的。

参数:struct termios *termptr:-----指向termios结构的指针;

   speed_t speed:---------------需要设置【返回】的输出/输入波特率;

返回值:成功---0;否则---1

 

波特率设置

常用的波特率常数如下,波特率的设置定义包含在头文件【termios.h】里:

B0-------à0                     B1800-------à1800
B50-----à50               B2400------à2400
B75-----à75               B4800------à4800
B110----à110              B9600------à9600
B134----à134.5           B19200-----à19200
B200----à200              B38400------à38400
B300----à300              B57600------à57600
B600----à600              B76800------à76800
B1200---à1200            B115200-----à115200

 

tcflush函数

头文件:#include <termios.h>

函数原型:int tcflush(int fd, int queue_selector);

说明:清空终端未完成的输入/输出请求及数据

参数:fd:---------------终端I/O打开的句柄

   queue_selector:---控制tcflush的操作,取值:

    TCIFLUSH---------清除征收到的数据,且不会读取出来;

    TCOFLUSH---------清除正写入的数据,且不会发送至终端;

    TCIOFLUSH--------清除所有正在发生的I/O数据

返回值:成功---0;否则---1,并且errno设置值来指示错误

 

范例:

/***********************修改波特率******************************/

#include <termios.h>

struct termios opt;

int fd=open("/dev/ttyS1",o_RDWR | O_NOCTTY); //打开串口设备

tecgetattr(fd,&opt);                                //获取与终端相关的参数

cfsetispeed(&opt,B9600);            //指定输入波特率,9600bps

cfsetospeed(&opt,B9600);             //指定输出波特率,9600bps

tcflush(fd,TCIOFLUSH);               //清除所有正在发生的I/O数据

tcsetattr(fd,TCANOW,&opt);          //设置终端参数

一般来说,输入输出的波特率应该是一致的。

/*******************************************************/

 

posted @   gǒが油メo  阅读(2546)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示