- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学内容 第一章 嵌入式系统概述 第二章 学习板硬件及开发环境的建立 第三章 构建嵌入式Linux系统 第四章 嵌入式Linux设备驱动 第五章 嵌入式Linux串口和网络编程 第六章 嵌入式Linux图形编程 第五章 Linux串口和网络编程 5.1 嵌入式Linux应用程序开发方法 5.2 嵌入式Linux串口编程 5.3 嵌入式Linux网络编程 5.2 linux串口应用开发 串口概述 串口设置 串口使用详解 5.2.1 串口概述 用户常见的数据通信的基本方式有两种: 并行通信; 串行通信; 串行通信是计算机常用的接口,如:RS-232-C接口。该标准规定采用一个DB25芯引脚连接器或DB9芯引脚连接器。 芯片内部常具有UART控制器,其可工作于Interrupt(中断模式)或DMA(直接内存访问)模式。 UART的操作主要包括以下几个部分: 数据发送; 数据接收; 产生中断; 产生波特率; Loopback模式; 红外模式; 自动流控模式; 串口参数的配置主要包括:波特率、数据位、停止位、流控协议。 linux中的串口设备文件存放于/dev目录下,其中串口一,串口二对应设备名依次为“/dev/ttyS0”、“/dev/ttyS1”。 在linux下操作串口与操作文件相同。 5.2.2 串口设置 在使用串口之前必须设置相关配置,包括:波特率、数据位、校验位、停止位等。串口设置由下面结构体实现: 该结构中c_cflag最为重要,可设置波特率、数据位、校验位、停止位。在设置波特率时需在数字前加上‘B’,如B9600。B19200。使用其需通过“与”“或”操作方式。 输入模式c_iflag成员控制接收端的字符输入处理。 串口控制函数 Tcgetattr 取属性(termios结构) Tcsetattr 设置属性(termios结构) cfgetispeed 得到输入速度 Cfgetospeed 得到输出速度 Cfsetispeed 设置输入速度 Cfsetospeed 设置输出速度 Tcdrain 等待所有输出都被传输 tcflow 挂起传输或接收 tcflush 刷清未决输入和/或输出 Tcsendbreak 送BREAK字符 tcgetpgrp 得到前台进程组ID tcsetpgrp 设置前台进程组ID 串口配置流程 保存原先串口配置使用tcgetattr(fd,oldtio)函数 struct termios newtio,oldtio; tcgetattr( fd,oldtio ); 激活选项有CLOCAL和CREAD,用于本地连接和接收使能。 newtio.c_cflag | = CLOCAL | CREAD; 设置波特率,使用函数cfsetispeed、 cfsetospeed cfsetispeed(newtio, B115200); cfsetospeed(newtio, B115200); 设置数据位,需使用掩码设置。 newtio.c_cflag = ~CSIZE; newtio.c_cflag |= CS8; 设置奇偶校验位,使用c_cflag和c_iflag。 设置奇校验: 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. 设置停止位,通过激活c_cflag中的CSTOPB实现。若停止位为1,则清除CSTOPB,若停止位为2,则激活CSTOPB。 newtio.c_cflag = ~CSTOPB; 7. 设置最少字符和等待时间,对于接收字符和等待时间没有特别要求时,可设为0。 newtio.c_cc[VTIME] = 0; //等待超时n*100ms newtio.c_cc[VMIN] = 0; //最少接收字符数 8. 处理要写入的引用对象 tcflush函数刷清(抛弃)输入缓存(终端驱动程序已接收到,但用户程序尚未读)或输出缓存(用户程序已经写,但尚未发送)。 int tcflush(int filedes, int queue ) queue数应当是下列三个常数之一: ? TCIFLUSH 刷清输入队列。 ? TCOFLUSH 刷清输出队列。
您可能关注的文档
- 第10章 触发器与时序逻辑电路.ppt
- 第16章血液生化1.ppt
- 第14章 触发器和时序逻辑电路.ppt
- 第21章 胆道疾病病人的护理.ppt
- 第1部分 第3单元 第3课 大气受热过程.ppt
- 第1章肉形态结构及理化性质.ppt
- 第17章 触发器.ppt
- 第21章 触发器.ppt
- 第14章 抗心律失常药.ppt
- 第21章触发器和时序逻辑电路.ppt
- 2025年娄底技师学院招聘工作人员(2人)笔试备考试题及答案详解(有一套).docx
- 2025年太仆寺旗事业单位引进急需紧缺人才的(4人)模拟试卷及答案详解(典优).docx
- 2025年天津医科大学朱宪彝纪念医院第四批招聘方案(15人)模拟试卷附答案详解(综合题).docx
- 2025年大庆市肇州县乡镇卫生院招聘医学毕业生(8人)模拟试卷附答案详解(考试直接用).docx
- 2025年新化县住房保障服务中心选调工作人员(3人)笔试备考试题及答案详解(最新).docx
- 2025年广西右江民族医学院(第一批)招聘教职人员控制数工作人员笔试备考试题及参考答案详解一套.docx
- 2025年度信宜市民政局所属事业单位(信宜市社会福利指导中心)选模拟试卷含答案详解(综合卷).docx
- 2025年平凉市静宁县城镇公益性岗位人员招聘(78人)笔试备考试题含答案详解(考试直接用).docx
- 2025年大庆市萨尔图区招聘幼儿教师(30人)笔试备考试题含答案详解(完整版).docx
- 2025年宜宾市高县事业单位招聘考试(52名)模拟试卷及答案详解(基础+提升).docx
最近下载
- 2025年一级建造师《建设工程经济》三色笔记.pdf VIP
- 2024-2030年半导体气体检测行业市场现状供需分析及投资评估规划分析研究报告.docx
- 幼儿教师口语课程思政优秀案例.pdf VIP
- 欧姆龙omron安全光栅.pdf VIP
- 2025年云南省职教高考文化课程《数学》考试说明(暂定稿).docx VIP
- 美国插头插座安规标准尺寸要求及治具图纸.pdf VIP
- 不锈钢栏杆接地工艺标准(图文+图集做法).pdf VIP
- 《新能源汽车概论》学生手册 任务2-1 替代燃料汽车技术与结构原理 学生手册.docx VIP
- 随钻跟管桩技术规程培训.pptx
- 未成年人保护预防未成年人犯罪知识讲座主题班会PPT课件.pptx VIP
文档评论(0)