linux串口编程实验二.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《linux串口编程实验二.pptx》由会员分享,可在线阅读,更多相关《linux串口编程实验二.pptx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1嵌入式系统设计实验二实验时间1班10月27日19:0021:252班10月28日08:0010:25实验内容串行端口程序设计(必做,并提交实验报告)第二章其他实验(选做)实验报告提交时间:下周实验之前提交方式:发送到邮箱:(1班),(2班),文件命名:学号+姓名+实验二.doc邮件主题:嵌入式系统设计实验二第1页/共30页2串行端口程序设计实验步骤1.阅读理解源码源码位置:expbasic03_tty阅读源码方法Linux下使用vi编辑器(Linux、VI常用命令参考实验指导书第七章附录、)windows下使用SourceInsight软件2.编译应用程序第2页/共30页3串行端口程序设计实
2、验步骤3.下载调试切换到minicom终端窗口,使用NFSmount开发主机的/arm2410s到/host目录:mounttnfsonolock192.168.1.234:/arm2410s/host开发板中串口设备位于/dev/tts/下,没有ttyS0这个设备,所以需要建立一个连接,方法如下:cd/devlnsf/dev/tts/0ttyS0进入expbasic03_tty目录,运行term,观察运行结果的正确性。第3页/共30页实验目的 了解在linux环境下串行程序设计的基本方法。掌握终端的主要属性及设置方法,熟悉终端I/O函数的使用。学习使用多线程来完成串口的收发处理。4/30第4
3、页/共30页实验原理与程序分析Linux对所有各类设备文件的输入输出操作,看上去就像对普通文件的输入输出一样,所以Linux对串口的操作,也是通过设备文件访问的。为了访问串口,只需要打开相应的设备文件即可。默认地,在Linux下,串行口COM1和COM2对应的设备分别为/dev/ttyS0和/dev/ttyS1。第5页/共30页串口详细配置在使用串口之前必须设置相关配置,包括:波特率、数据位、校验码、停止位等。串口设置由下面结构体实现:structtermiostcflag_tc_iflag;/*输入模式*/tcflag_tc_oflag;/*输出模式*/tcflag_tc_cflag;/*控
4、制模式*/tcflag_tc_lflag;/*本地模式*/cc_tc_ccNCCS;/*控制字符*/在 中.第6页/共30页7串行端口程序设计c_iflag输入模式标志,控制终端输入方式,具体参数如下表所示。输入模式标志,控制终端输入方式,具体参数如下表所示。键值说明IGNBRK忽略BREAK键输入BRKINT如果设置了IGNBRK,BREAK键的输入将被忽略,如果设置了BRKINT,将产生SIGINT中断IGNPAR忽略奇偶校验错误PARMRK标识奇偶校验错误INPCK允许输入奇偶校验ISTRIP去除字符的第8个比特INLCR将输入的NL(换行)转换成CR(回车)IGNCR忽略输入的回车IC
5、RNL将输入的回车转化成换行(如果IGNCR未设置的情况下)IUCLC将输入的大写字符转换成小写字符(非POSIX)IXON允许输入时对XON/XOFF流进行控制IXANY输入任何字符将重启停止的输出IXOFF允许输入时对XON/XOFF流进行控制IMAXBEL当输入队列满的时候开始响铃,Linux在使用该参数而是认为该参数总是已经设置第7页/共30页8串行端口程序设计c_oflag输出模式标志,控制终端输出方式,具体参数如表所示。输出模式标志,控制终端输出方式,具体参数如表所示。键值说明OPOST处理后输出OLCUC将输入的小写字符转换成大写字符(非POSIX)ONLCR将输入的NL(换行)
6、转换成CR(回车)及NL(换行)OCRNL将输入的CR(回车)转换成NL(换行)ONOCR第一行不输出回车符ONLRET不输出回车符OFILL发送填充字符以延迟终端输出OFDEL以ASCII码的DEL作为填充字符,如果未设置该参数,填充字符将是NUL(0)(非POSIX)NLDLY换行输出延时,可以取NL0(不延迟)或NL1(延迟0.1s)CRDLY回车延迟,取值范围为:CR0、CR1、CR2和CR3TABDLY水平制表符输出延迟,取值范围为:TAB0、TAB1、TAB2和TAB3BSDLY空格输出延迟,可以取BS0或BS1VTDLY垂直制表符输出延迟,可以取VT0或VT1FFDLY换页延迟,
7、可以取FF0或FF1第8页/共30页9串行端口程序设计c_cflag控制模式标志,指定终端硬件控制信息,具体参数如下表所示。控制模式标志,指定终端硬件控制信息,具体参数如下表所示。键值说明CBAUD波特率(4+1位)(非POSIX)CBAUDEX附加波特率(1位)(非POSIX)CSIZE字符长度,取值范围为CS5、CS6、CS7或CS8CSTOPB设置两个停止位CREAD使用接收器PARENB使用奇偶校验PARODD对输入使用奇偶校验,对输出使用偶校验HUPCL关闭设备时挂起CLOCAL忽略调制解调器线路状态CRTSCTS使用RTS/CTS流控制第9页/共30页10串行端口程序设计c_lfl
8、ag本地模式标志,控制终端编辑功能,具体参数如下表所示。本地模式标志,控制终端编辑功能,具体参数如下表所示。键值说明ISIG当输入INTR、QUIT、SUSP或DSUSP时,产生相应的信号ICANON使用标准输入模式XCASE在ICANON和XCASE同时设置的情况下,终端只使用大写。如果只设置了XCASE,则输入字符将被转换为小写字符,除非字符使用了转义字符(非POSIX,且Linux不支持该参数)ECHO显示输入字符ECHOE如果ICANON同时设置,ERASE将删除输入的字符,WERASE将删除输入的单词ECHOK如果ICANON同时设置,KILL将删除当前行ECHONL如果ICANON
9、同时设置,即使ECHO没有设置依然显示换行符ECHOPRT如果ECHO和ICANON同时设置,将删除打印出的字符(非POSIX)TOSTOP向后台输出发送SIGTTOU信号第10页/共30页11串行端口程序设计c_ccNCCS控制字符,用于保存终端驱动程序中的特殊字符,如输入结束控制字符,用于保存终端驱动程序中的特殊字符,如输入结束符等。符等。c_cc中定义了如表所示的控制字符。中定义了如表所示的控制字符。宏说明宏说明VINTRInterrupt字符VEOL附加的End-of-file字符VQUITQuit字符VTIME非规范模式读取时的超时时间VERASEErase字符VSTOPStop字符
10、VKILLKill字符VSTARTStart字符VEOFEnd-of-file字符VSUSPSuspend字符VMIN非规范模式读取时的最小字符数第11页/共30页串口控制函数t c g e t a t t r 取属性(t e r m i o s结构)t c s e t a t t r 设置属性(t e r m i o s结构)c f g e t i s p e e d 得到输入速度c f g e t o s p e e d 得到输出速度c f s e t i s p e e d 设置输入速度c f s e t o s p e e d 设置输出速度t c d r a i n 等待所有输出都被传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 串口 编程 实验
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内