串口最基本的设置包括波特率 校验位 和停止位。

主要是设置个结构体的成员值,

#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 下串口的配置的更多相关文章

  1. linux下串口通信与管理

    linux下的串口与windows有一些区别,下面将介绍一下linux下串口通信管理 查看是否支持USB串口: #lsmod | grep usbserial 如果没有信息:sudo apt-get ...

  2. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  3. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  4. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

  5. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  6. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  7. linux下golang的配置

    linux下golang的配置 之前开发golang一直在windows下,今天在linux下试了一下 ,遇到一些梗,比如go 找不到 sync包.花了一小时全部解决,把过程记录一下. 安装 go 我 ...

  8. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  9. Linux下PHP安装配置MongoDB数据库连接扩展

    Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作 ...

随机推荐

  1. 对css中的定位属性postion刨根解牛

    定位的基本思想很简单: 它允许你定义元素框相对于其正常位置应该出现的位置(relative),或者相对于父元素(absolute).另一个元素甚至浏览器窗口本身的位置(fixed).显然,这个功能非常 ...

  2. NLog使用说明

    NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码. NLog允许我们自定义从跟踪消息的来源(source)到记录跟踪信息的目标(target)的规则 ...

  3. cocos2d-x 绘制基本图元

    转自:http://4137613.blog.51cto.com/4127613/754729 第一部分:基本图形绘制   cocos2dx封装了大量opengl函数,用于快速绘制基本图形,这些代码的 ...

  4. 自己动手写缓存Version1

    实现一个最简单最主要的缓存系统. using System; using System.Data; using System.Configuration; using System.Web; usin ...

  5. Linux--------------安装vsftpd

    1.安装vsftpd        yum install -y vsftpd         yum -y install ftp vsftpd    2.安装vsftpd虚拟用户配置依赖包     ...

  6. BigInteger和BigDecimal大数相加问题

    package cn.hncu.big; import java.math.BigDecimal; public class BigDecimalDemo { public static void m ...

  7. Android读取Manifest文件下Application等节点下的metadata自定义数据

    介绍 Android在 提供了meta-date使用键值对的形式实现自定义配置.一般使用中作为渠道标识.可以用 在<application>,<activity>,<ac ...

  8. NIO学习:异步IO实例

    工作模式: 客户端代码: package demos.nio.socketChannel; import java.io.ByteArrayOutputStream; import java.io.I ...

  9. 编程以外积累: 如何给项目生成类似VS2008的说明文档

    1:[下载] 目前微软提供的官方开源工具 Sandcastle结果跑到项目中一看,抬头就来了这么一段: The Sandcastle CodePlex project is no longer und ...

  10. 并发与多版本:update重启动问题

    以下演示重启动问题,请注意 before触发器和after触发器的行为区别,因为before触发器会触发两次而导致重启动问题,因此使用after触发器更加高效,应该尽量避免在所有触发器中使用自治事务 ...