Linux串口编程

转自:https://www.cnblogs.com/ynxf/p/6105072.html

打开串口

在Linux系统下,打开串口是通过使用标准的文件打开函数操作的。

#include <fcntl.h>

/* 以读写的方式打开 */

int fd = open( "/dev/ttyUSB0",O_RDWR);  

设置串口

所有对串口的操作都是通过结构体 struct termios 和 几个函数实现的。

复制代码
tcgetattr          //获取属性
tcsetattr          //设置属性
cfgetispeed       //得到输入速度
cfsetispeed        //设置输入速度
cfgetospeed        //得到输出速度
cfsetospedd        //设置输出速度
tcdrain             //等待所有输出都被传输
tcflow              //挂起传输或接收
tcflush             //刷清未决输入和输出
tcsendbreak        //送break字符
tcgetpgrp          //得到前台进程组ID
tcsetpgrp          //设置前台进程组ID
复制代码
tcgetattr( 0,&oldstdio);  //获取默认的配置选项 存储到oldstdio结构体中
tcgetattr( fd,&oldstdio);  //获取当前配置选项 存储到oldstdio结构体中
tcsetattr( fd,TCSANOW,&oldstdio);  //TCSANOW 修改立即生效
cfgetispeed( &oldstdio);      //得到波特率
cfsetispeed(&oldstdio, B115200 )    //设置波特率为115200
即可使用read或open来操作串口的发送与接收。
posted @ 2018-02-01 16:08  23hour  阅读(177)  评论(0)    收藏  举报
Edit