linux串口编程超详尽版

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BSDLY
空格输出延迟,可以取BS0或BS1
VTDLY
垂直制表符输出延迟,可以取VT0或VT1
FFDLY
换页延迟,可以取FF0或FF1
9
串行端口程序设计
c_cflag
控制模式标志,指定终端硬件控制信息,具体参数如下表所示。
键值
说明
CBAUD
波特率(4+1位)(非POSIX)
CBAUDEX
附加波特率(1位)(非POSIX)
8
串行端口程序设计
c_oflag
输出模式标志,控制终端输出方式,具体参数如表6.4所示。
键值
说明
OPOST OLCUC ONLCR OCRNL ONOCR ONLRET OFILL OFDEL
NLDLY CRDLY TABDLY
处理后输出 将输入的小写字符转换成大写字符(非POSIX) 将输入的NL(换行)转换成CR(回车)及NL(换行) 将输入的CR(回车)转换成NL(换行) 第一行不输出回车符 不输出回车符 发送填充字符以延迟终端输出 以ASCII码的DEL作为填充字符,如果未设置该参数,填充字符将是NUL(‘\0’) (非POSIX) 换行输出延时,可以取NL0(不延迟)或NL1(延迟0.1s) 回车延迟,取值范围为:CR0、CR1、CR2和 CR3 水平制表符输出延迟,取值范围为:TAB0、TAB1、TAB2和TAB3
串口详细配置
在使用串口之前必须设置相关配置,包括:波特率、数据位、 校验码、停止位等。串口设置由下面结构体实现:

struct termios

{

tcflag_t c_iflag;
/* 输入模式 */

tcflag_t c_oflag;
/* 输出模式 */

tcflag_t c_cflag;
串行端口程序设计
实验步骤 3.下载调试
切换到minicom 终端窗口,使用NFS mount 开发主机的/arm2410s 到 /host 目录:mount –t nfs –o nolock 192.168.1.234:/arm2410s /host
开发板中串口设备位于/dev/tts/下,没有ttyS0这个设备,所以需要建立一 个连接,方法如下: cd /dev ln –sf /dev/tts/o ttys0
Linux下串口程序设计
1/30
嵌入式系统设计实验二
实验时间
1班
10月27日 19:00 – 21:25
2班
10月28日 08:00 – 10:25
实验内容
百度文库
串行端口程序设计(2.3必做,并提交实验报告)
第二章 其他实验(选做)
实验报告提交 时间:下周实验之前 提交方式: 发送到邮箱: chhli@ustc.edu.cn(1班), chenbo2008@ustc.edu.cn(2班), 文件命名:学号+姓名+实验二.doc 邮件主题:嵌入式系统设计实验二
键值
说明
IGNBRK
忽略BREAK键输入
BRKINT
如果设置了IGNBRK,BREAK键的输入将被忽略,如果设置了BRKINT ,将 产生SIGINT中断
IGNPAR
忽略奇偶校验错误
PARMRK
标识奇偶校验错误
INPCK
允许输入奇偶校验
ISTRIP
去除字符的第8个比特
INLCR
将输入的NL(换行)转换成CR(回车)
IGNCR
忽略输入的回车
ICRNL
将输入的回车转化成换行(如果IGNCR未设置的情况下)
IUCLC
将输入的大写字符转换成小写字符(非POSIX)
IXON
允许输入时对XON/XOFF流进行控制
IXANY
输入任何字符将重启停止的输出
IXOFF
允许输入时对XON/XOFF流进行控制
IMAXBEL
当输入队列满的时候开始响铃,Linux在使用该参数而是认为该参数总是已经 设置
本地模式标志,控制终端编辑功能,具体参数如下表所示。
键值
说明
ISIG ICANON
当输入INTR、QUIT、SUSP或DSUSP时,产生相应的信号 使用标准输入模式
XCASE ECHO
在ICANON和XCASE同时设置的情况下,终端只使用大写。如果只设置 了XCASE,则输入字符将被转换为小写字符,除非字符使用了转义字符 (非POSIX,且Linux不支持该参数)
2
串行端口程序设计
实验步骤 1.阅读理解源码 源码位置:exp\basic\03_tty 阅读源码方法 Linux下使用vi编辑器(Linux、VI常用命令参考实 验指导书第七章附录7.1、7.2) windows下使用SourceInsight软件 2.编译应用程序
3
/* 控制模式 */

tcflag_t c_lflag;
/* 本地模式 */

cc_t c_cc[NCCS]; /* 控制字符 */

}
在<arm2410s/kernel-2410s/include/asm-i386/termbits.h> 中.
串行端口程序设计
c_iflag
输入模式标志,控制终端输入方式,具体参数如下表所示。
显示输入字符
ECHOE ECHOK
如果ICANON同时设置,ERASE将删除输入的字符,WERASE将删除输 入的单词
5/30
实验原理与程序分析
Linux 对所有各类设备文件的输入输出操作,看上去就像对 普通文件的输入输出一样,所以Linux 对串口的操作,也是 通过设备文件访问的。为了访问串口,只需要打开相应的设 备文件即可。
默认地,在Linux 下,串行口COM1 和COM2对应的设备分 别为/dev/ttyS0 和/dev/ttyS1。
进入exp\basic\03_tty 目录,运行term,观察运行结果的正确性。
4
实验目的
������ 了解在 linux 环境下串行程序设计的基本方法。 ������ 掌握终端的主要属性及设置方法,熟悉终端 I /O 函数
的使用。 ������ 学习使用多线程来完成串口的收发处理。
CSIZE
字符长度,取值范围为CS5、CS6、CS7或CS8
CSTOPB
设置两个停止位
CREAD
使用接收器
PARENB
使用奇偶校验
PARODD
对输入使用奇偶校验,对输出使用偶校验
HUPCL
关闭设备时挂起
CLOCAL
忽略调制解调器线路状态
CRTSCTS
使用RTS/CTS流控制
10
串行端口程序设计
c_lflag
相关文档
最新文档