freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于arm的gprs通信系統(tǒng)的設(shè)計(jì)論文(編輯修改稿)

2024-12-23 22:08 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 b [root@localhost tslib]$./ (4) tmake 的設(shè)置 解壓后的 源文件需要作一定的修改后才能用于產(chǎn)生 Makefile 文件,需要 修改的內(nèi)容如下: [root@localhost tslib]$vi /qt2/++/ 在 TMAKE_LIBS 處加 –lts, 在 TMAKE_LINK 處該為 armlinuxg++. 輸入 :w!保存。 (5) 編譯 。進(jìn)入 目錄,運(yùn)行 “ ” 腳本 [root@localhost tslib]cd /qt2/ [root@localhost ]$. (choise item:license yes:color depth:16。Virtual Framebuffer:no) 以后即可以在此目錄下面編譯可在目標(biāo)機(jī)上面運(yùn)行的程序。 串口 通信 模塊的實(shí)現(xiàn) 基于 ARM 的 GPRS 通信系統(tǒng)的設(shè)計(jì) 第 18 頁(yè)(共 52 頁(yè)) 串口操作主要是先打開串口,再設(shè)置它的參數(shù), 串口流程 如圖 10 所示。 圖 10 串口 通信 流程圖 本系統(tǒng)采取了將串口的所有操作做成一個(gè)類,類名為 MySerial,它包含了 3 個(gè)函數(shù),分別為: 1. tatic int set_opt(int fd,int nSpeed, int nBits, char nEvent, int nStop)。 該函數(shù)實(shí)現(xiàn)了設(shè)置串口的一些參數(shù), fd 為用戶打開的文件標(biāo)識(shí)符, nSpeed 為波特率, nBits 為數(shù)據(jù)位, nEvent 為奇偶效驗(yàn), nStop 為停止位。失敗返回 0。 把三個(gè)函數(shù)都設(shè)置成為靜態(tài) 函數(shù)的原因是它們可以和類無(wú)關(guān),可以單獨(dú)被調(diào)用或者設(shè)置,也可以使用類來調(diào)用它們。 其中設(shè)置串口參數(shù)的關(guān)鍵是在于串口配置的數(shù)據(jù)結(jié)構(gòu) [9]: struct termio { unsigned short c_iflag。 /* 輸入模式標(biāo)志 */ unsigned short c_oflag。 /* 輸出模式標(biāo)志 */ unsigned short c_cflag。 /* 控制模式標(biāo)志 */ unsigned short c_lflag。 /* local mode flags */ unsigned char c_line。 /* line discipline */ 打開串口 設(shè)置串口 讀 /寫串口 關(guān)閉串口 保存以前串口配置 激活選項(xiàng) 設(shè)置波特率 設(shè)置數(shù)據(jù)位 設(shè)置奇偶校驗(yàn) 設(shè)置停止位 設(shè)置最少字符和等待時(shí)間 處理要寫入的引用對(duì)象 激活配置 過程論述 第 19 頁(yè)(共 52 頁(yè)) unsigned char c_cc[NCC]。 /* control characters */ }。 設(shè)置串口的過程如下: (1) 串口配置使用 tcgetattr(fd,amp。oldtio)函數(shù) struct termios newtio,oldtio。 tcgetattr( fd,amp。oldtio ); (2) 激活選項(xiàng)有 CLOCAL 和 CREAD, 用于本地連接和接收使能。 | = CLOCAL | CREAD。 (3) 設(shè)置波特率 ,使用函數(shù) cfsetispeed、 cfsetospeed cfsetispeed(amp。newtio, B115200)。 cfsetospeed(amp。newtio, B115200)。 (4) 設(shè)置數(shù)據(jù)位,需使用掩碼設(shè)置。 amp。= ~CSIZE。 |= CS8。 (5) 設(shè)置奇偶校驗(yàn)位,使用 c_cflag 和 c_iflag。 設(shè)置奇校驗(yàn): |= PARENB。 |= PARODD。 |= (INPCK | ISTRIP)。 設(shè)置偶校驗(yàn): |= (INPCK | ISTRIP)。 |= PARENB。 amp。= ~PARODD。 (6) 設(shè)置停止位,通過激活 c_cflag 中的 CSTOPB 實(shí)現(xiàn)。若停止位為 1,則清除CSTOPB,若停止位為 2,則激活 CSTOPB。 amp。= ~CSTOPB。 (7) 設(shè)置最少字符和等待時(shí)間,對(duì)于接收字符和等待時(shí) 間沒有特別要求時(shí),可設(shè)為 0。 [VTIME] = 0。 基于 ARM 的 GPRS 通信系統(tǒng)的設(shè)計(jì) 第 20 頁(yè)(共 52 頁(yè)) [VMIN] = 0。 (8) 處理要寫入的引用對(duì)象 tcflush 函數(shù)刷清(拋棄)輸入緩存(終端驅(qū)動(dòng)程序已接收到,但用戶程序尚未讀)或輸出緩存(用戶程序已經(jīng)寫,但尚未發(fā)送)。 int tcflush(int filedes, int queue ) (9) 激活配置。在完成配置后,需激活配置使其生效 , 使用 tsettattr()函數(shù) ,它的原型: int tcgetattr(int filedes, struct termios * termptr)。 int tcsetattr(int filedes, int opt, const struct termios * termptr)。 2. static int open_port(int fd,int port)。 該函數(shù)實(shí)現(xiàn)了打開端口,第一個(gè)參數(shù)為任意,第二個(gè)參數(shù)為打開的串口端口,如port 為 1 則打開串口 0( ttyS0)。返回打開的文件標(biāo)識(shí)符。 因?yàn)樵?Linux 下操作串口等設(shè)備與操作文件相同。所以操作串口的函數(shù)是下面一些常用的函數(shù): fd = open( /dev/ttyS0,O_RDWR|O_NOCTTY|O_NDELAY)。 read(fd,buff,8)。 write(fd,buff,8)。 open 函數(shù) 是打開串口 0 并返回文件標(biāo)識(shí)符, read 和 write 分別是讀和寫的函數(shù)。其中 fd 為文件標(biāo)識(shí)符, buff 為緩沖區(qū), 8 為緩沖區(qū)大小。 而 open_port函數(shù)則封裝了 open函數(shù), open_port第二個(gè)參數(shù)為選擇串口號(hào)的參數(shù)。 3. static int nwrite(int serialfd,const char *data,int datalength)。 該函數(shù)實(shí)現(xiàn)了往串口寫數(shù)據(jù),其中第一個(gè)參數(shù)是文件標(biāo)識(shí)符, data 為要傳送的數(shù)據(jù), datalength 為要傳送數(shù)據(jù)的長(zhǎng)度。返回成功寫入數(shù)據(jù)的長(zhǎng)度。 nwrite 函數(shù)則將 write 函數(shù)封裝,實(shí)現(xiàn)把第二個(gè)參數(shù)的字符串輸出到串口。 nwrite 第二個(gè)參數(shù)設(shè)置成 const char*方便在主程序使用 QString。原因在于 QString有個(gè)函數(shù)為 latin1(),將 QString 轉(zhuǎn)換成 const char*。 應(yīng)用程序的 UI設(shè)計(jì) 本系統(tǒng)采用的是 界面設(shè)計(jì)程序 UI[10]。它擁有兩個(gè) UI 界面,一個(gè)為短信界面,一個(gè)為電話界面。 過程論述 第 21 頁(yè)(共 52 頁(yè)) 背景圖片和按鈕圖片都是用 photoshop 完成的,在程序中加載。 短信界面如圖 11 所示 。 圖 11 短信界面 短信 UI 擁有 4 個(gè)按鈕, 5 個(gè)文本框, 1 個(gè)圖片框,它們分別擁有如下功能: Call 按鈕:進(jìn)入 Call 的 UI 界面。 Send 按鈕:發(fā)送短信(發(fā)送前檢測(cè)短信中心號(hào)碼,接受號(hào)碼和內(nèi)容是否為空)。 Open 按鈕:閱讀 “ 對(duì)方號(hào)碼 ” 指定 ID 的短信。 Exit 按鈕:退出按鈕。 短信中心號(hào)碼文本框:顯示短信中心號(hào)碼,屬性為只讀。 內(nèi)容(左)文本框:預(yù)發(fā)送的短信內(nèi)容。 對(duì)方號(hào)碼 文本框:預(yù)發(fā)送短信的接收人的號(hào)碼。 內(nèi)容(右)文本框:顯示讀出來的內(nèi)容,屬性為只讀。 State 文本框:顯示所有的狀態(tài)信息。 圖片框:顯示背景圖片。 基于 ARM 的 GPRS 通信系統(tǒng)的設(shè)計(jì) 第 22 頁(yè)(共 52 頁(yè)) 此 UI 為 繼承 gprs 類的 gprs_impl 類的對(duì)象 [11],而 gprs 類是一個(gè)框架類,并不包含圖片等信息,所以在 gprs_impl 類的構(gòu)造函數(shù)中要初始化圖片。 圖片相關(guān)的信息在構(gòu)造函數(shù)將調(diào)用的 initPic()中初始化。 QString strPicDir=/pic/。 Btn_ClosesetPixmap(QPixmap (strPicDir+))。 Btn_OpensetPixmap(QPixmap (strPicDir+))。 Btn_CallsetPixmap(QPixmap (strPicDir+))。 Btn_SendsetPixmap(QPixmap (strPicDir+))。 BackImgsetPixmap(QPixmap (strPicDir+))。 其中 strPicDir 是 圖片存放的 目錄 ,本系統(tǒng) 是放在根目錄下的 pic 目錄中。 電話 界面如圖 12 所示 。 圖 12 電話界面 電話 UI 擁有 16 個(gè)按鈕, 2 個(gè)文本框, 1 個(gè)圖片框,它們分別擁有如下功能: Exit 按鈕:退出該 UI 回到短信 UI。 Message 按鈕:退出該 UI 打電話按鈕:撥打電話 過程論述 第 23 頁(yè)(共 52 頁(yè)) 掛電話按鈕:掛電話 0- 9 按鈕:電話數(shù)字按鈕,按相應(yīng)鍵在 Num 文本框中顯示 C 按鈕:刪除上一個(gè)數(shù)字 按鈕: 號(hào) Num 文本框:顯示號(hào)碼的文本框,屬性為只讀,初始值為 10086 State 文本框:顯示所有的狀態(tài)信息。 圖片框:顯示背景圖片。 此 UI 與 gprs_impl 類似,是繼承 call 類的 call_impl 類的對(duì)象,而 call 類是一個(gè)框架類,并不包含圖片等信息,所以在 call_impl 類的構(gòu)造函數(shù)中要初始化圖片。圖片相關(guān)的信息在構(gòu)造函數(shù)將調(diào)用的 initPic() [12]中初始化。 AT命令編碼解碼模塊的實(shí)現(xiàn) AT 命令 作 為 XSCALE 開發(fā)板與 GPRS 模塊通信的協(xié)議語(yǔ)言。 GPRS 通信系統(tǒng)使用 AT 命令通過串口向 GPRS 模塊發(fā)送控制命令。 GSM 規(guī)范對(duì)短消息傳輸定義了三種控制協(xié)議:即二進(jìn)制協(xié)議 (塊模式 ),基于字符的 AT 命令接口協(xié)議 (文本模式 )和基 于字符的十六進(jìn)制編碼二進(jìn)制傳輸塊接口協(xié)議(PDU 模式 )。 塊模式 ( Block mode) 是使用二進(jìn)制編碼來傳輸用戶數(shù)據(jù)的接口協(xié)議。 為了提高可靠性,它帶有差錯(cuò)保護(hù),適合于鏈接不完全可靠的地區(qū),尤其是要求控制遠(yuǎn)程設(shè)備的情況。它屬于 GSM 第一階段的短消息傳輸接口協(xié)議。目前, PDU 已取代了塊模式。 文本模式( Text mode)是使用 AT 命令傳輸文本數(shù)據(jù)的接口協(xié)議。該模式適合于非智能終端 、終端仿真器等。 PDU 模式相當(dāng)于計(jì)算機(jī)網(wǎng)絡(luò)中的分組交換接口協(xié)議。這種傳送方式能夠很平穩(wěn)地過渡到 GPRS,因此 GSM 規(guī) 范要求用戶盡可能地使用 PDU 模式處理短消息。 所以本 系統(tǒng) 采用的是 PDU 模式來編碼和解碼。 與短消息相關(guān)的常用的 AT 指令如表 1 所示。 基于 ARM 的 GPRS 通信系統(tǒng)的設(shè)計(jì) 第 24 頁(yè)(共 52 頁(yè)) 表 1 常用與短消息相關(guān)的 AT指令 AT 指令 功 能 AT+CMGC Send an SMS mand(發(fā)出一條短消息命令) AT+CMGD Delete SMS message(刪除 SIM 卡內(nèi)存的短消息) AT+CMGF Select SMS message formate(選擇短消息信息格式: 0PDU。1文本) AT+CMGL List SMS message from preferred store(列出 SIM 卡中的短消息 PDU/text:
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1