最新嵌入式系统第十一讲嵌入式串口通信与GPRS模块实验PPT课件.ppt
进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅嵌入式系统第十一讲嵌入式串口通信与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两个串口设备之间,可能因为链路差异等两个串口设备之间,可能因为链路差异等原因,需要进行数据流的协调,一般两种原因,需要进行数据流的协调,一般两种方法:方法:软件流控:以软件流控:以软件流控:以软件流控:以XONXON(八进制(八进制(八进制(八进制021021)标示开始,)标示开始,)标示开始,)标示开始,以以以以XOFFXOFF(八进制(八进制(八进制(八进制023023)标示结束)标示结束)标示结束)标示结束 硬件流控:硬件流控:硬件流控:硬件流控:RTSRTS(发送方准备好发出(发送方准备好发出(发送方准备好发出(发送方准备好发出ReadyReadytoSend)toSend)和和和和CTSCTS(接收方准备好发出(接收方准备好发出(接收方准备好发出(接收方准备好发出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下设备是以设备文件方式来访问的,串下设备是以设备文件方式来访问的,串下设备是以设备文件方式来访问的,串下设备是以设备文件方式来访问的,串口也是如此。在口也是如此。在口也是如此。在口也是如此。在linuxlinux系统下面,每一个串口系统下面,每一个串口系统下面,每一个串口系统下面,每一个串口设备都有设备文件与其关联,设备文件位于设备都有设备文件与其关联,设备文件位于设备都有设备文件与其关联,设备文件位于设备都有设备文件与其关联,设备文件位于系统的系统的系统的系统的/dev/dev目录下面。如目录下面。如目录下面。如目录下面。如linuxlinux下的下的下的下的/ttyS0/ttyS0,/ttyS1/ttyS1分别表示的是串口分别表示的是串口分别表示的是串口分别表示的是串口1 1和串口和串口和串口和串口2 2。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 /*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;/*File 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);/*设置串口为阻塞方式设置串口为阻塞方式*/*/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标准函数定义标准函数定义标准函数定义标准函数定义*/*/#include/*#include/*数据类型定义数据类型定义数据类型定义数据类型定义*/*/#include/*#include/*文件属性定义文件属性定义文件属性定义文件属性定义*/*/#include/*#include/*文件控制定义文件控制定义文件控制定义文件控制定义*/*/#include/*POSIX#include/*POSIX终端控制定义终端控制定义终端控制定义终端控制定义*/*/#include/*#include/*错误号定义错误号定义错误号定义错误号定义*/*/#include/*#include/*字符串功能函数字符串功能函数字符串功能函数字符串功能函数*/*/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这个程序不会成为这个这个程序不会成为这个端口上的端口上的“控制终端控制终端”。如果不这样做的话,所有的输入,。如果不这样做的话,所有的输入,比如键盘上过来的比如键盘上过来的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(intfd,char*,intlength)intread(intfd,char*,intlength);其中其中其中其中fdfd为设备号;为设备号;为设备号;为设备号;char*char*为数据缓冲区;为数据缓冲区;为数据缓冲区;为数据缓冲区;lengthlength每次读每次读每次读每次读取数据的长度;返回值为实际读取数据的长度取数据的长度;返回值为实际读取数据的长度取数据的长度;返回值为实际读取数据的长度取数据的长度;返回值为实际读取数据的长度。n n写例:写例:n=write(fd,“ATZr”,4);n=write(fd,“ATZr”,4);返回写的比特数,如果返回写的比特数,如果错误返回负数错误返回负数 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。Evaluation 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()这两这两这两这两个函数。他们均使用一个结构体,该结构体对终个函数。他们均使用一个结构体,该结构体对终个函数。他们均使用一个结构体,该结构体对终个函数。他们均使用一个结构体,该结构体对终端的输入、输出、硬件特性、控制协议等方面进端的输入、输出、硬件特性、控制协议等方面进端的输入、输出、硬件特性、控制协议等方面进端的输入、输出、硬件特性、控制协议等方面进行了定义,具体定义形式如下(见行了定义,具体定义形式如下(见行了定义,具体定义形式如下(见行了定义,具体定义形式如下(见termios.h)termios.h):structtermiostcflag_tstructtermiostcflag_tc_iflag;c_iflag;输入参数输入参数输入参数输入参数tcflag_ttcflag_tc_oflag;c_oflag;输出参数输出参数输出参数输出参数tcflag_ttcflag_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.终端标准结构体说明终端标准结构体说明其中参数:其中参数:c_iflagc_iflag输入参数设置;输入参数设置;输入参数设置;输入参数设置;c_oflagc_oflag输出参数设置;输出参数设置;输出参数设置;输出参数设置;c_cflagc_cflag设置决定终端硬件特性的控制标志,设置决定终端硬件特性的控制标志,设置决定终端硬件特性的控制标志,设置决定终端硬件特性的控制标志,包括数据位宽度、停止位、奇偶校验位等包括数据位宽度、停止位、奇偶校验位等包括数据位宽度、停止位、奇偶校验位等包括数据位宽度、停止位、奇偶校验位等 c_lflagc_lflag存放本地模式存放本地模式存放本地模式存放本地模式(与用户交互)设置与用户交互)设置与用户交互)设置与用户交互)设置 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()填充上述结构体填充上述结构体填充上述结构体填充上述结构体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 with 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(structtermios*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 only.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 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);/*/*指定输入波特率,指定输入波特率,指定输入波特率,指定输入波特率,9600bps*/9600bps*/cfsetospeed(&optcfsetospeed(&opt,B9600)B9600);/*/*指定输出波特率,指定输出波特率,指定输出波特率,指定输出波特率,9600bps*/9600bps*/Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Cflag设置举例设置举例n nNo parity(8N1)No parity(8N1)options.c_cflag&=PARENB;/options.c_cflag&=PARENB;/关闭校验关闭校验options.c_cflag&=CSTOPB;/options.c_cflag&=CSTOPB;/设置停止位设置停止位options.c_cflag&=CSIZE;/options.c_cflag&=CSIZE;/设置数据位设置数据位options.c_cflag|=CS8;options.c_cflag|=CS8;n nEven parity(7E1)Even parity(7E1)options.c_cflag|=PARENB;/options.c_cflag|=PARENB;/开启校验开启校验options.c_cflag&=PARODD;/options.c_cflag&=PARODD;/偶校验模式偶校验模式options.c_cflag&=CSTOPB;options.c_cflag&=CSTOPB;options.c_cflag&=CSIZE;options.c_cflag&=CSIZE;options.c_cflag|=CS7;options.c_cflag|=CS7;Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.硬件流控设置硬件流控设置n n开启硬件流控:options.c_cflag|=CNEW_RTSCTS;n n关闭硬件流控:options.c_cflag&=CNEW_RTSCTS;Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.软件流控设置软件流控设置n n开启:options.c_iflag|=(IXON|IXOFF|IXANY);n n关闭:options.c_iflag&=(IXON|IXOFF|IXANY);Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.本地模式本地模式c_lflagn n本地模式成员变量c_lflag可以控制串口驱动怎样控制输入字符n n例,经典输入模式:options.c_lflag|=(ICANON|ECHO|ECHOE);options.c_lflag|=(ICANON|ECHO|ECHOE);经典经典输入是以面向行设计的。在经典输入模式中输入字符输入是以面向行设计的。在经典输入模式中输入字符会被放入一个缓冲之中,这样可以以与用户交互的方会被放入一个缓冲之中,这样可以以与用户交互的方式编辑缓冲的内容,直到收到式编辑缓冲的内容,直到收到CR(carriage return)CR(carriage return)或或者者LF(line feed)LF(line feed)字符。字符。需要选择需要选择ICANONICANON,ECHOECHO和和ECHOEECHOE选项选项Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.本地模式本地模式c_lflagn n例,原始输入模式:例,原始输入模式:options.c_lflag&=(ICANON|ECHO|ECHOE|options.c_lflag&=(ICANON|ECHO|ECHOE|ISIG);ISIG);输入字符只是被原封不动的接收输入字符只是被原封不动的接收 程序中需要去掉程序中需要去掉ICANONICANON,ECHOECHO,ECHOEECHOE和和ISIGISIG选项选项Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.c_ccn n字符数组c_cc里面包括了控制字符的定义和超时参数.Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.c_ccn nVMIN可以指定读取的最小字符数。如果它被设置为0,那么VTIME值则会指定每个字符读取的等待时间。如果VMIN不为零,串口读取VMIN个字符。这样可以明确给出要读取的字符个数Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.行控制函数(一)行控制函数(一)n n行控制函数用来查询和设置各种与数据操行控制函数用来查询和设置各种与数据操作方式、时间等相关的特征:作方式、时间等相关的特征:inttcdrain(intfd)inttcdrain(intfd);所有挂起的输出操作完;所有挂起的输出操作完;所有挂起的输出操作完;所有挂起的输出操作完成,并将一直保持等待,直到所有输出都已成,并将一直保持等待,直到所有输出都已成,并将一直保持等待,直到所有输出都已成,并将一直保持等待,直到所有输出都已经写到文件描述字经写到文件描述字经写到文件描述字经写到文件描述字fdfd指向的文件为止指向的文件为止指向的文件为止指向的文件为止 inttcflush(intfd,intqueue)inttcflush(intfd,intqueue);刷新最新排在文件;刷新最新排在文件;刷新最新排在文件;刷新最新排在文件描述字描述字描述字描述字fdfd队列中的输入和输出。参数队列中的输入和输出。参数队列中的输入和输出。参数队列中的输入和输出。参数queuequeue用来指定用来指定用来指定用来指定要刷新的数据,如果要刷新的数据,如果要刷新的数据,如果要刷新的数据,如果queuequeue取值为取值为取值为取值为TCIFLUSHTCIFLUSH,刷新,刷新,刷新,刷新接收到但尚未读取的输入数据;如果取值为接收到但尚未读取的输入数据;如果取值为接收到但尚未读取的输入数据;如果取值为接收到但尚未读取的输入数据;如果取值为TCOFLUSHTCOFLUSH,刷新被改写但尚未传送的输出数据;,刷新被改写但尚未传送的输出数据;,刷新被改写但尚未传送的输出数据;,刷新被改写但尚未传送的输出数据;如取值为如取值为如取值为如取值为TCILFLUSHTCILFLUSH,则两者都刷新。,则两者都刷新。,则两者都刷新。,则两者都刷新。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.行控制函数(二)行控制函数(二)inttcflow(intfd,intaction)inttcflow(intfd,intaction);函数;函数;函数;函数tcflow()tcflow()是流量控制函数,用来启动或停止对文件描是流量控制函数,用来启动或停止对文件描是流量控制函数,用来启动或停止对文件描是流量控制函数,用来启动或停止对文件描述字述字述字述字fdfd的数据传送和接收,参数的数据传送和接收,参数的数据传送和接收,参数的数据传送和接收,参数actionaction如果如果如果如果为为为为TCOONTCOON,表示启动输出,为,表示启动输出,为,表示启动输出,为,表示启动输出,为TCOOFFTCOOFF时表时表时表时表示停止输出;为示停止输出;为示停止输出;为示停止输出;为TCIONTCION时启动输入;为时启动输入;为时启动输入;为时启动输入;为TCIOFFTCIOFF时停止输入。时停止输入。时停止输入。时停止输入。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.串口函数串口函数Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.串口通信类的封装串口通信类的封装n n设计一个串口类,包含打开串口,设置串设计一个串口类,包含打开串口,设置串口参数、读取串口数据、向串口写数据及口参数、读取串口数据、向串口写数据及关闭串口等功能。关闭串口等功能。n n这些功能都是类中的一个方法,而这些方这些功能都是类中的一个方法,而这些方法都由前述的串口操作函数来具体实现。法都由前述的串口操作函数来具体实现。n 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参照实验指导书,进行程序的编译,可得参照实验指导书,进行程序的编译,可得到指导书中结果到指导书中结果 针对针对针对针对ARMARM平台的串口程序,请注意平台的串口程序,请注意平台的串口程序,请注意平台的串口程序,请注意serialarm.desktopserialarm.desktop要下载到开发板要下载到开发板要下载到开发板要下载到开发板/usr/qpe/apps/applications/usr/qpe/apps/applications目录下目录下目录下目录下 开发板上设置开发板上设置开发板上设置开发板上设置QtEQtE环境变量要如下:环境变量要如下:环境变量要如下:环境变量要如下:#exportQTDIR=/usr/qpe#exportQTDIR=/usr/qpe#export#exportLD_LIBRARY_PATH=/usr/qpe/libLD_LIBRARY_PATH=/usr/qpe/lib 最后执行最后执行最后执行最后执行./serialarmqws./serialarmqws要加要加要加要加qwsqws参数启参数启参数启参数启动服务才行;或者从动服务才行;或者从动服务才行;或者从动服务才行;或者从qtopiaqtopia桌面启动桌面启动桌面启动桌面启动Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.可能使用可能使用QT控件介绍控件介绍n nQLabel:静态显示文本字符串,:静态显示文本字符串,头文件:头文件:头文件:头文件:#include#include textLabel2-setText(tr(sendtext);/textLabel2-setText(tr(sendtext);/显示文本字符串的内容显示文本字符串的内容显示文本字符串的内容显示文本字符串的内容Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.QT控件介绍控件介绍n nQStringstr(recvbuf);/字符串类字符串类Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.QT控件介绍控件介绍n nQPushButton:按钮控件:按钮控件 头文件:头文件:头文件:头文件:#include#includeOpenComBtn=newQPushButton(this,OpenComBtn);OpenComBtn=newQPushButton(this,OpenComBtn);OpenComBtn-setGeometry(QRect(30,110,90,31);OpenComBtn-setGeometry(QRect(30,110,90,31);OpenComBtn-setText(tr(“opencom);/SetsOpenComBtn-setText(tr(“opencom);/Sets显示文本字显示文本字显示文本字显示文本字串的内容串的内容串的内容串的内容protectedslots:protectedslots:voidOpenPort();/voidOpenPort();/声明一个声明一个声明一个声明一个SlotSlot connect(OpenComBtn,SIGNAL(clicked(),SLOT(connect(OpenComBtn,SIGNAL(clicked(),SLOT(OpenPort();/OpenPort();/建立建立建立建立SignalSignal与与与与SlotSlot之间的链接。之间的链接。之间的链接。之间的链接。Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.QT控件介绍控件介绍n nQTimer:定时器类定时器类 QTimer*ReadComTimer;QTimer*ReadComTimer;ReadComTimer=newQTimer(this);/ReadComTimer=newQTimer(this);/创建创建创建创建一个定时器一个定时器一个定时器一个定时器 ReadComTimer-start(10);/ReadComTimer-start(10);/开启一个定时开启一个定时开启一个定时开启一个定时器,定时间隔器,定时间隔器,定时间隔器,定时间隔1010毫秒毫秒毫秒毫秒Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.QT控件介绍控件介绍n nQMultiLineEdit:文本输入和显示控件:文本输入和显示控件 头文件:头文件:头文件:头文件:#include#include receive_textEdit-clear();/receive_textEdit-clear();/清除控件中的文清除控件中的文清除控件中的文清除控件中的文本本本本 receive_textEdit-insert(str);/receive_textEdit-insert(str);/在当前光标在当前光标在当前光标在当前光标位置插入字符串位置插入字符串位置插入字符串位置插入字符串(由(由(由(由QtDesigner3QtDesigner3创建的创建的创建的创建的QTextEditQTextEdit在开发板在开发板在开发板在开发板上不支持,需要手动改为本控件)上不支持,需要手动改为本控件)上不支持,需要手动改为本控件)上不支持,需要手动改为本控件)Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.GPRS模块模块Evaluation only.Created with Aspose.Slides for.NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.MC35iGPRSGPRS模块采用模块采用模块采用模块采用SIEMENSSIEMENS公司的公司的公司的公司的MC35iMC35i模块。模块。模块。模块。MC35iMC35i是是是是SIEMENSSIEMENS公司推出的新一代无线通讯公司推出的新一代无线通讯公司推出的新一代无线通讯公司推出的新一代无线通讯GSM/GPRSGSM/GPRS模块,模块,模块,模块,可以快速安全可靠地实现系统方案中的数据、语言传输、可以快速安全可靠地实现系统方案中的数据、语言传输、可以快速安全可靠地实现系统方案中的数据、语言传输、可以快速安全可靠地实现系统