第三讲 嵌入式Linux串口程序设计

第三讲 嵌入式Linux串口程序设计

ID:37840256

大小:467.59 KB

页数:26页

时间:2019-06-01

第三讲 嵌入式Linux串口程序设计_第1页
第三讲 嵌入式Linux串口程序设计_第2页
第三讲 嵌入式Linux串口程序设计_第3页
第三讲 嵌入式Linux串口程序设计_第4页
第三讲 嵌入式Linux串口程序设计_第5页
资源描述:

《第三讲 嵌入式Linux串口程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三讲嵌入式Linux串口程序设计华中科技大学电信系鄢舒E-mail:yan0shu@gmail.com内容提纲(1/4)•1.嵌入式Linux串口编程概述•2.嵌入式Linux串口详细配置•3.嵌入式Linux串口编程示例•4.实验内容与要求EIDept.,HuazhongUniversityofScienceandTechnology21.1数据通信的基本方式用户常见的数据通信的基本方式有两种:¢并行通信;¢串行通信;•串行通信是计算机常用的接口,如:RS-232-C接口。该标准规定采用一个DB25芯引

2、脚连接器或DB9芯引脚连接器。•芯片内部常具有UART控制器,其可工作于Interrupt(中断模式)或DMA(直接内存访问)模式。EIDept.,HuazhongUniversityofScienceandTechnology31.2串行通信原理¢采用异步串行I/O方式;¢将传输数据的每一个字符一位接一位地传送;¢各个不同位分时地使用同一传输通道;¢开始时,线路处于空闲状态,送出连续“1”;¢传送开始时,首先发送一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据,每个字符的数据位长度可以为5

3、、6、7位或8位,一般采用ASCII编码。后面是奇偶校验位。最后是表示停止位的“1”信号,这个停止位可持续1、1.5、2位的时间宽度。¢每个数据位的宽度等于波特率的倒数。EIDept.,HuazhongUniversityofScienceandTechnology41.3UART的操作•UART的操作主要包括以下几个部分:¢数据发送;¢数据接收;¢产生中断;¢产生波特率;¢Loopback模式;¢红外模式;¢自动流控模式;•串口参数的配置主要包括:波特率、数据位、停止位、流控协议。EIDept.,Huaz

4、hongUniversityofScienceandTechnology51.4Linux中的串口设备•Linux中的串口设备文件存放于/dev目录下,其中串口一(COM1),串口二(COM2)对应设备名依次为“/dev/ttyS0”、“/dev/ttyS1”。•在Linux下操作串口与操作文件相同。EIDept.,HuazhongUniversityofScienceandTechnology61.5串口通信的流程START打开串口1open(“/dev/ttyS0”,O_RDWR);保存COM1属性tc

5、getattr(fd,&oldterm);设置COM1属性tcsetattr(fd,&newterm);串口通信及其他Programfunctions保存COM1属性tcsetattr(fd,&oldterm);关闭COM1close(fd);EIDept.,HuazhongUniversityofScienceandTechnology7内容提纲(2/4)•1.嵌入式Linux串口编程概述•2.嵌入式Linux串口详细配置•3.嵌入式Linux串口编程示例•4.实验内容与要求EIDept.,Huazhon

6、gUniversityofScienceandTechnology82.1串口设置结构•在使用串口之前必须设置相关配置,包括:波特率、数据位、校验位、停止位等。串口设置由下面结构体实现:EIDept.,HuazhongUniversityofScienceandTechnology92.2c_cflag成员变量•termios结构中c_cflag最为重要,可设置波特率、数据位、校验位、停止位。在设置波特率时需在数字前加上‘B’,如B9600。B19200。使用其需通过“与”“或”操作方式。EIDept.,H

7、uazhongUniversityofScienceandTechnology102.3c_iflag成员变量•输入模式c_iflag成员控制端口接收端的字符输入处理。EIDept.,HuazhongUniversityofScienceandTechnology112.4串口控制函数tcgetattr取属性(termios结构)tcsetattr设置属性(termios结构)cfgetispeed得到输入速度cfgetospeed得到输出速度cfsetispeed设置输入速度cfsetospeed设置输出

8、速度tcdrain等待所有输出都被传输tcflow挂起传输或接收tcflush刷清未决输入和/或输出tcsendbreak送BREAK字符tcgetpgrp得到前台进程组IDtcsetpgrp设置前台进程组IDEIDept.,HuazhongUniversityofScienceandTechnology122.5串口配置流程(1/4)1.保存原先串口配置使用tcgetattr(fd,&oldtio)函数stru

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。