已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
linux串口应用开发 串口概述串口设置串口使用详解 1 串口概述 用户常见的数据通信的基本方式有两种 并行通信 串行通信 串行通信是计算机常用的接口 如 RS 232 C接口 该标准规定采用一个DB25芯引脚连接器或DB9芯引脚连接器 芯片内部常具有UART控制器 其可工作于Interrupt 中断模式 或DMA 直接内存访问 模式 UART的操作主要包括以下几个部分 数据发送 数据接收 产生中断 产生波特率 Loopback模式 红外模式 自动流控模式 串口参数的配置主要包括 波特率 数据位 停止位 流控协议 linux中的串口设备文件存放于 dev目录下 其中串口一 串口二对应设备名依次为 dev ttyS0 dev ttyS1 在linux下操作串口与操作文件相同 2 串口详细配置 在使用串口之前必须设置相关配置 包括 波特率 数据位 校验位 停止位等 串口设置由下面结构体实现 该结构中c cflag最为重要 可设置波特率 数据位 校验位 停止位 在设置波特率时需在数字前加上 B 如B9600 B19200 使用其需通过 与 或 操作方式 输入模式c iflag成员控制端口接收端的字符输入处理 串口控制函数 Tcgetattr取属性 termios结构 Tcsetattr设置属性 termios结构 cfgetispeed得到输入速度Cfgetospeed得到输出速度Cfsetispeed设置输入速度Cfsetospeed设置输出速度Tcdrain等待所有输出都被传输tcflow挂起传输或接收tcflush刷清未决输入和 或输出Tcsendbreak送BREAK字符tcgetpgrp得到前台进程组IDtcsetpgrp设置前台进程组ID 2 1串口配置流程 保存原先串口配置使用tcgetattr fd 设置数据位 需使用掩码设置 newtio c cflag 设置停止位 通过激活c cflag中的CSTOPB实现 若停止位为1 则清除CSTOPB 若停止位为2 则激活CSTOPB newtio c cflag 处理要写入的引用对象tcflush函数刷清 抛弃 输入缓存 终端驱动程序已接收到 但用户程序尚未读 或输出缓存 用户程序已经写 但尚未发送 inttcflush intfiledes intqueue queue数应当是下列三个常数之一 TCIFLUSH刷清输入队列 TCOFLUSH刷清输出队列 TCIOFLUSH刷清输入 输出队列 如 tcflush fd TCIFLUSH 激活配置 在完成配置后 需激活配置使其生效 使用tsettattr 函数 原型 inttcgetattr intfiledes structtermios termptr inttcsetattr intfiledes intopt conststructtermios termptr tcsetattr的参数opt使我们可以指定在什么时候新的终端属性才起作用 opt可以指定为下列常数中的一个 TCSANOW更改立即发生 TCSADRAIN发送了所有输出后更改才发生 若更改输出参数则应使用此选择项 TCSAFLUSH发送了所有输出后更改才发生 更进一步 在更改发生时未读的所有输入数据都被删除 刷清 使用如 tcsetattr fd TCSANOW newtio 3 串口使用详解 在配置完串口的相关属性后 就可对串口进行打开 读写操作了 其使用方式与文件操作一样 区别在于串口是一个终端设备 3 1打开串口 fd open dev ttyS0 O RDWR O NOCTTY O NDELAY Open函数中除普通参数外 另有两个参数O NOCTTY和O NDELAY O NOCTTY 通知linix系统 这个程序不会成为这个端口的控制终端 O NDELAY 通知linux系统不关心DCD信号线所处的状态 端口的另一端是否激活或者停止 然后 恢复串口的状态为阻塞状态 用于等待串口数据的读入 用fcntl函数 fcntl fd F SETFL 0 接着 测试打开的文件描述府是否引用一个终端设备 以进一步确认串口是否正确打开 isatty
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026春季江西铜业集团建设有限公司校园招聘7人备考题库带答案详解(培优)
- 2026广东江门开平市侨城产业投资集团有限公司招聘备考题库及参考答案详解(预热题)
- 2026年春季贵州黔东南州从江县招考幼儿园编外专任教师备考题库及答案详解(历年真题)
- 2026贵州毕节黔西市第一批面向社会招募青年就业见习人员46人备考题库附答案详解(达标题)
- 2026河南黄金叶投资管理有限公司所属企业大学生招聘18人备考题库及参考答案详解(研优卷)
- 2026“才聚齐鲁成就未来”山东省征信有限公司社会招聘18人备考题库及完整答案详解1套
- 2026广西南宁市兴宁区兴东社区卫生服务中心外聘人员招聘1人备考题库附答案详解(培优a卷)
- 2026福建漳州市交发工贸集团有限公司权属通畅公司市场化用工人员招聘4人备考题库及答案详解【历年真题】
- 2026四川宜宾港信资产管理有限公司第一批员工招聘10人备考题库带答案详解(基础题)
- 2026清华大学出版社校园招聘备考题库及答案详解【夺冠】
- 山西省吕梁市2025-2026学年高三第二次模拟调研测试生物+答案
- 2026山东青岛海上综合试验场有限公司招聘38人备考题库含完整答案详解(全优)
- 大型赛事活动安保服务方案投标文件(技术标)
- 施工工地员工考核管理制度(3篇)
- 医院耗材监督考核制度
- 2025特变电工校园招聘200人笔试历年常考点试题专练附带答案详解2套试卷
- 2026年山东潍坊市高三一模高考生物模拟试卷(含答案详解)
- 玉林介绍教学课件
- 2026年东莞市厚街控股集团有限公司招聘14名工作人员备考题库含答案详解
- 《DLT 2976-2025柔性低压直流互联装置技术规范》专题研究报告
- 钢结构施工技术交底-
评论
0/150
提交评论