最新嵌入式系统第十一讲嵌入式串口通信与GPRS模块实验PPT课件.ppt
《最新嵌入式系统第十一讲嵌入式串口通信与GPRS模块实验PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式系统第十一讲嵌入式串口通信与GPRS模块实验PPT课件.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩
2、子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味
3、道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人
4、生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅嵌入式系统第十一讲嵌入式串口通信与GPRS模块实验本讲主要内容本讲主要内容n n串口通信原理串口通信原理n nGPRS模块模块n nAT指令指令参考参考“实验十二实验十二串口通信实验串口通信实验”Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.流控流控n n两个串口设备
5、之间,可能因为链路差异等两个串口设备之间,可能因为链路差异等原因,需要进行数据流的协调,一般两种原因,需要进行数据流的协调,一般两种方法:方法:软件流控:以软件流控:以软件流控:以软件流控:以XONXON(八进制(八进制(八进制(八进制021021)标示开始,)标示开始,)标示开始,)标示开始,以以以以XOFFXOFF(八进制(八进制(八进制(八进制023023)标示结束)标示结束)标示结束)标示结束 硬件流控:硬件流控:硬件流控:硬件流控:RTSRTS(发送方准备好发出(发送方准备好发出(发送方准备好发出(发送方准备好发出ReadyReadytoSend)toSend)和和和和CTSCTS(
6、接收方准备好发出(接收方准备好发出(接收方准备好发出(接收方准备好发出CleartoCleartoSentSent)握手信号)握手信号)握手信号)握手信号Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Linux下访问串口下访问串口n n设备文件设备文件 LinuxLinux下设备是以设备文件方式来访问的,串下设备是以设备文件方式来访问的,串下设备是以设备文件方式来访问的,串下设备是以设备文件方式来访问的,串口也是如此
7、。在口也是如此。在口也是如此。在口也是如此。在linuxlinux系统下面,每一个串口系统下面,每一个串口系统下面,每一个串口系统下面,每一个串口设备都有设备文件与其关联,设备文件位于设备都有设备文件与其关联,设备文件位于设备都有设备文件与其关联,设备文件位于设备都有设备文件与其关联,设备文件位于系统的系统的系统的系统的/dev/dev目录下面。如目录下面。如目录下面。如目录下面。如linuxlinux下的下的下的下的/ttyS0/ttyS0,/ttyS1/ttyS1分别表示的是串口分别表示的是串口分别表示的是串口分别表示的是串口1 1和串口和串口和串口和串口2 2。Evaluation on
8、ly.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.例例#include#include#include /*POSIX terminal control definitions*/#include /*POSIX terminal control definitions*/int open_port(void)int open_port(void)int fd;/*File descriptor for the port*/int fd;/*Fi
9、le descriptor for the port*/fd=open(/dev/ttyS0,O_RDWR|O_NOCTTY|O_NDELAY);fd=open(/dev/ttyS0,O_RDWR|O_NOCTTY|O_NDELAY);if(fd=-1)if(fd=-1)perror(open_port:Unable to open/dev/ttyS0-);perror(open_port:Unable to open/dev/ttyS0-);else else fcntl(fd,F_SETFL,0);/*fcntl(fd,F_SETFL,0);/*设置串口为阻塞方式设置串口为阻塞方式*/*/
10、return(fd);return(fd);Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.头文件头文件#include/*#include/*标准输入输出定义标准输入输出定义标准输入输出定义标准输入输出定义*/*/#include/*#include/*标准函数库定义标准函数库定义标准函数库定义标准函数库定义*/*/#include/*Unix#include/*Unix标准函数定义标准函数定义标准函数定义标准函数定
11、义*/*/#include/*#include/*数据类型定义数据类型定义数据类型定义数据类型定义*/*/#include/*#include/*文件属性定义文件属性定义文件属性定义文件属性定义*/*/#include/*#include/*文件控制定义文件控制定义文件控制定义文件控制定义*/*/#include/*POSIX#include/*POSIX终端控制定义终端控制定义终端控制定义终端控制定义*/*/#include/*#include/*错误号定义错误号定义错误号定义错误号定义*/*/#include/*#include/*字符串功能函数字符串功能函数字符串功能函数字符串功能函数*
12、/*/Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.例解例解n nO_RDONLYO_RDONLY(只读)、(只读)、(只读)、(只读)、O_WRONLYO_WRONLY(只写)、(只写)、(只写)、(只写)、O_RDWRO_RDWR(读写)(读写)(读写)(读写)n n标志标志O_NOCTTYO_NOCTTY可以告诉可以告诉UNIXUNIX这个程序不会成为这个这个程序不会成为这个端口上的端口上的“控制终端控制终端”
13、。如果不这样做的话,所有的输入,。如果不这样做的话,所有的输入,比如键盘上过来的比如键盘上过来的Ctrl+CCtrl+C中止信号等等,会影响到串口中止信号等等,会影响到串口进程。进程。n nO_NDELAYO_NDELAY:无论是否读到数据,立即返回,否则会一:无论是否读到数据,立即返回,否则会一直等待直等待非阻塞方式非阻塞方式Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.串口读写串口读写n n读:读:intread
14、(intfd,char*,intlength)intread(intfd,char*,intlength);其中其中其中其中fdfd为设备号;为设备号;为设备号;为设备号;char*char*为数据缓冲区;为数据缓冲区;为数据缓冲区;为数据缓冲区;lengthlength每次读每次读每次读每次读取数据的长度;返回值为实际读取数据的长度取数据的长度;返回值为实际读取数据的长度取数据的长度;返回值为实际读取数据的长度取数据的长度;返回值为实际读取数据的长度。n n写例:写例:n=write(fd,“ATZr”,4);n=write(fd,“ATZr”,4);返回写的比特数,如果返回写的比特数,如果
15、错误返回负数错误返回负数 Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.关闭串口关闭串口n n关闭:int close(int fd);int close(int fd);参数说明:参数说明:参数说明:参数说明:fdfd:文件描述符:文件描述符:文件描述符:文件描述符 函数返回值:成功返回函数返回值:成功返回函数返回值:成功返回函数返回值:成功返回0 0,失败返回,失败返回,失败返回,失败返回-1-1。Evaluat
16、ion only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.串口配置与终端标准结构体串口配置与终端标准结构体n n配置串口主要通过配置串口主要通过配置串口主要通过配置串口主要通过tcgetattr()tcgetattr()和和和和tcsetattr()tcsetattr()这两这两这两这两个函数。他们均使用一个结构体,该结构体对终个函数。他们均使用一个结构体,该结构体对终个函数。他们均使用一个结构体,该结构体对终个函数。他们均使用一个结构体,该
17、结构体对终端的输入、输出、硬件特性、控制协议等方面进端的输入、输出、硬件特性、控制协议等方面进端的输入、输出、硬件特性、控制协议等方面进端的输入、输出、硬件特性、控制协议等方面进行了定义,具体定义形式如下(见行了定义,具体定义形式如下(见行了定义,具体定义形式如下(见行了定义,具体定义形式如下(见termios.h)termios.h):structtermiostcflag_tstructtermiostcflag_tc_iflag;c_iflag;输入参数输入参数输入参数输入参数tcflag_ttcflag_tc_oflag;c_oflag;输出参数输出参数输出参数输出参数tcflag_t
18、tcflag_tc_cflag;c_cflag;控制参数控制参数控制参数控制参数tcflag_ttcflag_tc_lflag;c_lflag;本地模式本地模式本地模式本地模式cc_tcc_tc_line;c_line;行控制行控制行控制行控制cc_tcc_tc_ccNCCS;c_ccNCCS;控制字符控制字符控制字符控制字符;Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.终端标准结构体说明终端标准结构体说明其中参数
19、:其中参数:c_iflagc_iflag输入参数设置;输入参数设置;输入参数设置;输入参数设置;c_oflagc_oflag输出参数设置;输出参数设置;输出参数设置;输出参数设置;c_cflagc_cflag设置决定终端硬件特性的控制标志,设置决定终端硬件特性的控制标志,设置决定终端硬件特性的控制标志,设置决定终端硬件特性的控制标志,包括数据位宽度、停止位、奇偶校验位等包括数据位宽度、停止位、奇偶校验位等包括数据位宽度、停止位、奇偶校验位等包括数据位宽度、停止位、奇偶校验位等 c_lflagc_lflag存放本地模式存放本地模式存放本地模式存放本地模式(与用户交互)设置与用户交互)设置与用户交
20、互)设置与用户交互)设置 c_ccc_cc用来控制数据发送到调用程序的方式用来控制数据发送到调用程序的方式用来控制数据发送到调用程序的方式用来控制数据发送到调用程序的方式Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.终端设置终端设置n n设置终端属性的一般方法是:设置终端属性的一般方法是:1.1.首先调用首先调用首先调用首先调用tcgetattr()tcgetattr()填充上述结构体填充上述结构体填充上述结构体填充
21、上述结构体2.2.对该结构体进行必要修改对该结构体进行必要修改对该结构体进行必要修改对该结构体进行必要修改3.3.最后调用最后调用最后调用最后调用tcsetattr()tcsetattr()使新设置生效使新设置生效使新设置生效使新设置生效Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.输入选项输入选项c_iflag注:注:注:注:NL=newlineNL=newlineEvaluation only.Created w
22、ith Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.输出选项输出选项c_oflagn n部分参数:部分参数:Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.终端速度控制终端速度控制n n获取和设置输入、输出速度函数:获取和设置输入、输出速度函数:intcfgetispeed(structtermi
23、os*tp)intcfgetispeed(structtermios*tp);intcfsetispeed(structtermios*tp,intcfsetispeed(structtermios*tp,speed_tspeed)speed_tspeed);intcfgetospeed(structtermios*tp)intcfgetospeed(structtermios*tp);intcfsetospeed(structtermios*tp,intcfsetospeed(structtermios*tp,speed_tspeed)speed_tspeed);Evaluation onl
24、y.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.速度定义速度定义n n波特率的设置定义在波特率的设置定义在例如例如B4800-B4800-48004800B9600-B9600-96009600B19200-B19200-1920019200B38400-B38400-3840038400B57600-B57600-5760057600B115200-B115200-115200115200Evaluation only.Created with
25、 Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.速度设置举例速度设置举例#include/#include/头文件定义头文件定义头文件定义头文件定义.structtermiosoptstructtermiosopt;/*/*定义指向定义指向定义指向定义指向termiostermios结构类型的指针结构类型的指针结构类型的指针结构类型的指针opt*/opt*/cfsetispeed(&optcfsetispeed(&opt,B9600)B9600);/*/*指定输入波特率,指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 嵌入式 系统 第十一 串口 通信 GPRS 模块 实验 PPT 课件
限制150内