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数据库 具体操作 ...
随机推荐
- 教程-FastReport 的安装 心得
由于要使用报表,所以下载了FastReport 4.7.91,由于是第一次安装和使用FastReport报表,所以在安装的时候走了点弯路.把心得写一下吧. 我是第安装第二遍才完全理解安装过程,也可以定 ...
- 细谈JavaScript中的书写规范
当你有一些感触想写下一些东西的时候,总会发现其实你想写的所有文章都有大牛已经给你写好了,而且写的比你好. https://github.com/ecomfe/spec/blob/master/java ...
- .NET中常见对象
.NET中六大内置对象:1.Response 2.Request 3.Session 4.Appliction 5.Server 6.Cookie System.Web.HttpCo ...
- JBPM数据库表说明
http://blog.163.com/tigerlion@126/blog/static/167675665201072642627400/ 最近这几天一直在研究JBPM工作流引擎,以下为JBMP的 ...
- 如何用Java进行3DES加密解
原文地址: http://weavesky.com/2008/01/05/java-3des/ 最近一个合作商提出使用3DES交换数据,本来他们有现成的代码,可惜只有.net版本,我们的服务器都是Li ...
- SpringMVC经典系列-13使用SpringMVC处理Ajax请求---【LinusZhu】
注意:此文章是个人原创,希望有转载须要的朋友们标明文章出处,假设各位朋友们认为写的还好,就给个赞哈,你的鼓舞是我创作的最大动力,LinusZhu在此表示十分感谢,当然文章中如有纰漏,请联系linusz ...
- 在IT在系统中使用多租户技术的跨部门和虚拟团队的解决方案为员工提供(草案)
1 前言 经过多年的企业信息化建设,Office系统逐步形成有9营业场所的分部门.9专业应用子系统.20独立的信息模块.330一种方法.这些系统或模块内置于Microsoft IIS.Apache T ...
- phpcms 源码分析五:文件缓存实现
这次是逆雪寒的文件缓存实现代码分析: /* [/php] PHPCMS的文本缓存实现: [php] <?php /* 这个文件里面全是有关生成文本缓存的函数.文本缓存是个好东西.一般的项目,我们 ...
- IPv6 neighbor discovery
IPv6 neighbor discovery By stretch | Thursday, August 28, 2008 at 5:03 a.m. UTC Neighbor Discovery P ...
- Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例
1. 复制多级文件夹的案例 需求:复制多级文件夹 数据源:E:\JavaSE\day21\code\demos 目的地:E:\ 分析: A:封装数据源File ...