linux 下串口的配置
串口最基本的设置包括波特率 校验位 和停止位。
主要是设置个结构体的成员值,
#include <termios.h>
struct termio {
unsigned short c_iflag; /*输入模式标志*/
unsigned short c_oflag; /*输出模式标志*/
unsigned short c_cflag; /*控制模式标志*/
unsigned short c_lflag; /*本地模式标志*/
unsigned short c_line; /*line discipline*/
unsigned short c_cc[NCC];
/*control characters*/ }
保存原先的串口配置
if (tcgetattr(fd, &oldtio) != 0) peeror(“get old termio error”);
2 激活CLOCAL CREAD CLOCAL CREAD 用于本地连接和接受使能, nwtio.c_cflag|= CLOCAL | CREAD;
3 设置波特率 设置波特率要用专门的函数,不能直接通过掩码来操作。 cfsetispeed (newtio, B115200); cfsetospeed (newtio, B115200);
4 设置字符大小 用掩码设置
newtio.c_cflag &= ~CSIZE;
newtio.c_cflag |= CS8;
5 设置奇偶校验位 奇校验
newtio.c_cflag |= PARENB;
newtio.c_cflag |= PARODD;
newtio.c_iflag |= (INPCK | ISTRIP);
偶校验 newtio.c_iflag |= (INPCK | ISTRIP);
newtio.c_cflag |= PARENB; newtio.c_cflag &= ~PARODD;
6 设置停止位 newtio.c_cflag &= ~CSTOPB;
7 设置最少字符和等待时间 newti.c_cc[VTIME] = 0;
newti.c_cc[VMIN] = 0;
8 处理要写入的引用对象 tcflush (fd, TCIFLUSH);
9 激活配置 tcsetattr (fd, OPTION, &newtio);
Option: TCSANOW 改变的配置立即生效 TCSADRAIN 改变的配置在所有写入的fd的输出结束后生效 TCSAFLUSH 改变的配置在所有写入fd引用对象输出都被结束后生效 所有已接受但未读入的输入都在改变发生前丢弃
linux 下串口的配置的更多相关文章
- linux下串口通信与管理
linux下的串口与windows有一些区别,下面将介绍一下linux下串口通信管理 查看是否支持USB串口: #lsmod | grep usbserial 如果没有信息:sudo apt-get ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.
为了更好的排版, 所以将IK分词器的安装重启了一篇博文, 大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...
- Linux下Redis服务器安装配置
说明:操作系统:CentOS1.安装编译工具yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...
- Linux下SVN服务器安装配置及客户端安装说明
原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...
- linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...
- linux下golang的配置
linux下golang的配置 之前开发golang一直在windows下,今天在linux下试了一下 ,遇到一些梗,比如go 找不到 sync包.花了一小时全部解决,把过程记录一下. 安装 go 我 ...
- 转载-Linux下svn搭建配置流程
Linux下svn搭建配置流程 一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...
- Linux下PHP安装配置MongoDB数据库连接扩展
Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作 ...
随机推荐
- eclipse老是卡在Refreshing workspace
最近老是遇到eclipse没有响应,参考网络上的相关帖子做了些优化,但问题依旧. 后来发现出现这个问题一般都是eclipse无响应,直接结束进程后导致的,看了下eclipse日志,果真如此. !SES ...
- 使用tomcat的jndi方式连接mysql的字符编码设置
最近新项目使用tomcat中配置jndi连接mysql的方式,在使用过程中发现查询条件为中文的时候查询不出结果,经过一通折腾,发现是jndi在连接数据库的时候忘记设置字符编码. 修改之后的完整配置如下 ...
- MS-SQLSERVER中的MSDTC不可用解决方法
今天在本地机直接在触发器里更新还有一台服务器数据时出现: MSDTC不可用 解决的方法: 在windows控制面版-->管理工具-->服务-->Distributed Tra ...
- oracle学习----去除表中的重复数据
重复的数据可能有这样两种情况,第一种:表中只有某些字段一样,第二种:两行记录完全一样.第一.对于部分字段重复数据的删除 先来谈谈如何查询重复的数据吧. 下面语句可以查询出那 ...
- TCP/IP协议原理与应用笔记15:网络连接设备
1. 网络连接设备: (1)转发器 Repeater/ 集线器 Hub (2)网桥 Bridge / 交换机 Switch (3)路由器 Router (4)网关 Gateway 2. 从通信角度看待 ...
- TimePicker 和TimePickerDiag
先建立以个xml,然后拖拽TimerPicker; TimePicker和TimePickerDiag TimerPicker : 先建立xml文件,然后拖拽TimePicker然后在MainActi ...
- Swift之语法1(精简版)
1. Swift简介 2010年的夏天,苹果公司的开发人员Chris Lattne接到了一个特别的任务,为OS X 和iOS平台开发下一代的编程语言,也就是Swift. 苹果公司于2014年WWDC( ...
- iOS开发UI篇-tableView在编辑状态下的批量操作(多选)
先看下效果图 直接上代码 #import "MyController.h" @interface MyController () { UIButton *button; } @pr ...
- .net+easyui--combobox
一:预定义结构的 select 元素创建组合框(combobox)值固定写死 <select class="easyui-combobox" name="state ...
- MySQL之DML语句(insert update delete)
DML主要针对数据库表对象的数据而言的,一般DML完成: 插入新数据 修改已添加的数据 删除不需要的数据 1.insert into插入语句 //主键自增可以不插入,所以用null代替 ); //指定 ...