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

正文內(nèi)容

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

2024-12-23 22:08 本頁面
 

【文章內(nèi)容簡介】 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 頁(共 52 頁) 串口操作主要是先打開串口,再設(shè)置它的參數(shù), 串口流程 如圖 10 所示。 圖 10 串口 通信 流程圖 本系統(tǒng)采取了將串口的所有操作做成一個類,類名為 MySerial,它包含了 3 個函數(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)識符, nSpeed 為波特率, nBits 為數(shù)據(jù)位, nEvent 為奇偶效驗(yàn), nStop 為停止位。失敗返回 0。 把三個函數(shù)都設(shè)置成為靜態(tài) 函數(shù)的原因是它們可以和類無關(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í)間 處理要寫入的引用對象 激活配置 過程論述 第 19 頁(共 52 頁) 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í)間,對于接收字符和等待時(shí) 間沒有特別要求時(shí),可設(shè)為 0。 [VTIME] = 0。 基于 ARM 的 GPRS 通信系統(tǒng)的設(shè)計(jì) 第 20 頁(共 52 頁) [VMIN] = 0。 (8) 處理要寫入的引用對象 tcflush 函數(shù)刷清(拋棄)輸入緩存(終端驅(qū)動程序已接收到,但用戶程序尚未讀)或輸出緩存(用戶程序已經(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)了打開端口,第一個參數(shù)為任意,第二個參數(shù)為打開的串口端口,如port 為 1 則打開串口 0( ttyS0)。返回打開的文件標(biāo)識符。 因?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)識符, read 和 write 分別是讀和寫的函數(shù)。其中 fd 為文件標(biāo)識符, buff 為緩沖區(qū), 8 為緩沖區(qū)大小。 而 open_port函數(shù)則封裝了 open函數(shù), open_port第二個參數(shù)為選擇串口號的參數(shù)。 3. static int nwrite(int serialfd,const char *data,int datalength)。 該函數(shù)實(shí)現(xiàn)了往串口寫數(shù)據(jù),其中第一個參數(shù)是文件標(biāo)識符, data 為要傳送的數(shù)據(jù), datalength 為要傳送數(shù)據(jù)的長度。返回成功寫入數(shù)據(jù)的長度。 nwrite 函數(shù)則將 write 函數(shù)封裝,實(shí)現(xiàn)把第二個參數(shù)的字符串輸出到串口。 nwrite 第二個參數(shù)設(shè)置成 const char*方便在主程序使用 QString。原因在于 QString有個函數(shù)為 latin1(),將 QString 轉(zhuǎn)換成 const char*。 應(yīng)用程序的 UI設(shè)計(jì) 本系統(tǒng)采用的是 界面設(shè)計(jì)程序 UI[10]。它擁有兩個 UI 界面,一個為短信界面,一個為電話界面。 過程論述 第 21 頁(共 52 頁) 背景圖片和按鈕圖片都是用 photoshop 完成的,在程序中加載。 短信界面如圖 11 所示 。 圖 11 短信界面 短信 UI 擁有 4 個按鈕, 5 個文本框, 1 個圖片框,它們分別擁有如下功能: Call 按鈕:進(jìn)入 Call 的 UI 界面。 Send 按鈕:發(fā)送短信(發(fā)送前檢測短信中心號碼,接受號碼和內(nèi)容是否為空)。 Open 按鈕:閱讀 “ 對方號碼 ” 指定 ID 的短信。 Exit 按鈕:退出按鈕。 短信中心號碼文本框:顯示短信中心號碼,屬性為只讀。 內(nèi)容(左)文本框:預(yù)發(fā)送的短信內(nèi)容。 對方號碼 文本框:預(yù)發(fā)送短信的接收人的號碼。 內(nèi)容(右)文本框:顯示讀出來的內(nèi)容,屬性為只讀。 State 文本框:顯示所有的狀態(tài)信息。 圖片框:顯示背景圖片。 基于 ARM 的 GPRS 通信系統(tǒng)的設(shè)計(jì) 第 22 頁(共 52 頁) 此 UI 為 繼承 gprs 類的 gprs_impl 類的對象 [11],而 gprs 類是一個框架類,并不包含圖片等信息,所以在 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 個按鈕, 2 個文本框, 1 個圖片框,它們分別擁有如下功能: Exit 按鈕:退出該 UI 回到短信 UI。 Message 按鈕:退出該 UI 打電話按鈕:撥打電話 過程論述 第 23 頁(共 52 頁) 掛電話按鈕:掛電話 0- 9 按鈕:電話數(shù)字按鈕,按相應(yīng)鍵在 Num 文本框中顯示 C 按鈕:刪除上一個數(shù)字 按鈕: 號 Num 文本框:顯示號碼的文本框,屬性為只讀,初始值為 10086 State 文本框:顯示所有的狀態(tài)信息。 圖片框:顯示背景圖片。 此 UI 與 gprs_impl 類似,是繼承 call 類的 call_impl 類的對象,而 call 類是一個框架類,并不包含圖片等信息,所以在 call_impl 類的構(gòu)造函數(shù)中要初始化圖片。圖片相關(guān)的信息在構(gòu)造函數(shù)將調(diào)用的 initPic() [12]中初始化。 AT命令編碼解碼模塊的實(shí)現(xiàn) AT 命令 作 為 XSCALE 開發(fā)板與 GPRS 模塊通信的協(xié)議語言。 GPRS 通信系統(tǒng)使用 AT 命令通過串口向 GPRS 模塊發(fā)送控制命令。 GSM 規(guī)范對短消息傳輸定義了三種控制協(xié)議:即二進(jìn)制協(xié)議 (塊模式 ),基于字符的 AT 命令接口協(xié)議 (文本模式 )和基 于字符的十六進(jìn)制編碼二進(jìn)制傳輸塊接口協(xié)議(PDU 模式 )。 塊模式 ( Block mode) 是使用二進(jìn)制編碼來傳輸用戶數(shù)據(jù)的接口協(xié)議。 為了提高可靠性,它帶有差錯保護(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 頁(共 52 頁) 表 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)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1