嵌入式方面论文范文素材,与郑州大学远程教育学院毕业文,免费毕业文下载郑州相关毕业论文格式范文
本论文是一篇嵌入式方面毕业论文格式范文,关于郑州大学远程教育学院毕业文,免费毕业文下载郑州相关研究生毕业论文开题报告范文。免费优秀的关于嵌入式及操作系统及工程师方面论文范文资料,适合嵌入式论文写作的大学硕士及本科毕业论文开题报告范文和学术职称论文参考文献下载。
#30340;CSTOPB实现.若停止位为1,则清除CSTOPB,若停止位为2,则激活CSTOPB.newtio.c_cflag&,等于~CSTOPB,
设置最少字符和等待时间,对于接收字符和等待时间没有特别要求时,可设为0.
newtio.c_cc[VTIME]等于0,
newtio.c_cc[VMIN]等于0,
处理要写入的引用对象
tcflush函数刷清(抛弃)输入缓存(终端驱动程序已接收到,但用户程序尚未读)或输出缓存(用户程序已经写,但尚未发送).
inttcflush(intfiledes,intqueue)
激活配置.在完成配置后,需激活配置使其生效使用tsettattr()函数原型:
inttcgetattr(intfiledes,structtermios*termptr),
inttcsetattr(intfiledes,intopt,conststructtermios*termptr),
staticintopen_port(intfd,intport),
该函数实现了打开端口,第一个参数为任意,第二个参数为打开的串口端口,如port为1则打开串口0(ttyS0).返回打开的文件标识符.
因为在Linux下操作串口等设备与操作文件相同.所以操作串口的函数是下面一些常用的函数:
fd等于open("/dev/ttyS0",O_RDWR|O_NOCTTY|O_NDELAY),
read(fd,buff,8),
write(fd,buff,8),
open函数是打开串口0并返回文件标识符,read和write分别是读和写的函数.其中fd为文件标识符,buff为缓冲区,8为缓冲区大小.
而open_port函数则封装了open函数,open_port第二个参数为选择串口号的参数.
staticintnwrite(intserialfd,constchar*data,intdatalength),
该函数实现了往串口写数据,其中第一个参数是文件标识符,data为要传送的数据,datalength为要传送数据的长度.返回成功写入数据的长度.
nwrite函数则将write函数封装,实现把第二个参数的字符串输出到串口.
nwrite第二个参数设置成constchar*方便在主程序使用QString.原因在于QString有个函数为latin1(),将QString转换成constchar*.
4.2.3应用程序的UI设计
本系统采用的是QT2.3.2界面设计程序UI[10].它拥有两个UI界面,一个为短信界面,一个为界面.
背景图片和按钮图片都是用photoshop完成的,在程序中加载.
短信界面如图1所示.
图1短信界面
短信UI拥有4个按钮,5个文本框,1个图片框,它们分别拥有如下功能:
Call按钮:进入Call的UI界面.
Send按钮:发送短信(发送前检测短信中心,接受和内容是否为空).
Open按钮:阅读对方指定ID的短信.
Exit按钮:退出按钮.
短信中心文本框:显示短信中心,属性为只读.内容(左)文本框:预发送的短信内容.
对方文本框:预发送短信的接收人的.
内容(右)文本框:显示读出来的内容,属性为只读.
State文本框:显示所有的状态信息.
图片框:显示背景图片.
此UI为继承gprs类的gprs_impl类的对象[11],而gprs类是一个框架类,并不包含图片等信息,所以在gprs_impl类的构造函数中要初始化图片.图片相关的信息在构造函数将调用的initPic()中初始化.
QStringstrPicDir等于"/pic/",
Btn_Close->,setPixmap(QPixmap(strPicDir+"1_exit.png")),
Btn_Open->,setPixmap(QPixmap(strPicDir+"1_open.png")),
Btn_Call->,setPixmap(QPixmap(strPicDir+"1_call.png")),
Btn_Send->,setPixmap(QPixmap(strPicDir+"1_send.png")),
BackImg->,setPixmap(QPixmap(strPicDir+"msm.png")),
其中strPicDir是图片存放的目录,本系统是放在根目录下的pic目录中.
界面如图12所示.
图1界面
UI拥有16个按钮,2个文本框,1个图片框,它们分别拥有如下功能:
Exit按钮:退出该UI回到短信UI.
Message按钮:退出该UI
打按钮:拨打
挂按钮:挂
0-9按钮:数字按钮,按相应键在Num文本框中显示
C按钮:删除上一个数字
#按钮:#号
Num文本框:显示的文本框,属性为只读,初始值为10086
State文本框:显示所有的状态信息.
图片框:显示背景图片.
此UI与gprs_impl类似,是继承call类的call_impl类的对象,而call类是一个框架类,并不包含图片等信息,所以在call_impl类的构造函数中要初始化图片.图片相关的信息在构造函数将调用的initPic()[12]中初始化.
4.2.4AT命令编码解码模块的实现
GSM规范对短消息传输定义了三种控制协议:即二进制协议(块模式),基于字符的AT命令接口协议(文本模式)和基于字符的十六进制编码二进制传输块接口协议(PDU模式).
块模式(Blockmode)是使用二进制编码来传输用户数据的接口协议.为了提高可靠性,它带有差错保护,适合于链接不完全可靠的地区,尤其是要求控制远程设备的情况.它属于GSM第一阶段的短消息传输接口协议.目前,PDU已取代了块模式.
文本模式(Textmode)是使用AT命令传输文本数据的接口协议.该模式适合于非智能终端,终端仿真器等.
PDU模式相当于计算机网络中的分组交换接口协议.这种传送方式能够很平稳地过渡到GPRS,因此GSM规范要求用户尽可能地使用PDU模式处理短消息.
所以本采用的是PDU模式来编码和解码.表1常用与短消息相关的AT指令
AT指令功能AT+CMGCSendanSMSmand(发出一条短消息命令)AT+CMGDDeleteSMSmessage(删除SIM卡内存的短消息)AT+CMGFSelectSMSmessageformate(选择短消息信息格式:0-PDU,1-文本)AT+CMGLListSMSmessagefrompreferredstore(列出SIM卡中的短消息PDU/text:0/"RECUNREAD"-未读,1/"RECREAD"-已读,2/"STOUNSENT"-待发,3/"STOSENT"-已发,4/"ALL"-全部的)AT+CMGRReadSMSmessage(读短消息)AT+CMGSSendSMSmessage(发送短消息)AT+CMGWWriteSMSmessagetomemory(向SIM内存中写入待发的短消息)AT+CMSSSendSMSmessagefromstorage(从SIM内存中发送短消息)AT+CNMINewSMSmessageindications(显示新收到的短消息)AT+CPMSPreferredSMSmessagestorage(选择短消息内存)AT+CSCASMSservicecenteraddress(短消息中心地址)AT+CSCBSelectcellbroadcastmessages(选择蜂窝广播消息)AT+CSMPSetSMStextmodeparameters(设置短消息文本模式参数)AT+CSMSSelectMessageService(选择短消息服务)短信系统中最关键的就是定时器函数的实现.定时器是在第一个UI界面的构造函数中初始化的,由它每两百毫秒调用一次read_timeout_slot().
在read_timeout_slot()里面依赖一些位信息来处理事件,例如BInit为1的时候就处理初始化的代码.系统初始化及定时器函数如图1所示.
图1系统初始化及定时器函数
[13].
有新出现提示如图14所示.
图14有新提示
解码函数ProcessMessage的作用就是将别人发过来的解码成信息,包括对方,对方发送短信的时间,对方发送的消息内容[14]等等.本系统提供了两种解码方式,一种为7位解码,一种为PDU解码,这样就兼容了不同手机发送短信的编码方式.strMsg为:
"0891683108706105F0040D91685129563107F300008060908063922306E8329BFD0E01".由于短信原语串的可变内容为短信内容,而短信内容在原语串的最末尾,所以短信原语串中很多数据例如对方可以在固定的位置读取出来.
将短信内容和时间等数据提取出
嵌入式方面论文范文素材,与郑州大学远程教育学院毕业文,免费毕业文下载郑州相关毕业论文格式范文参考文献资料: