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

正文內(nèi)容

優(yōu)秀畢業(yè)論文設計:基于linux下智能手機的設計(編輯修改稿)

2025-06-20 07:48 本頁面
 

【文章內(nèi)容簡介】 的,它允許用戶自由地裁減和優(yōu)化。 (5)GUI開發(fā)支持 Linux本身有性能優(yōu)秀的 X Windows系統(tǒng),在 X Windows系統(tǒng)的支持下,能方便的進行圖形用戶界面的開發(fā)。 (6)豐富的開發(fā)技術資源 Linux有一個龐大的支持者群體, 其中許多人都編寫驅(qū)動程序和其他的更新程序,并且免費通過 Inter進行共向。這意味著 對新硬件的 Linux驅(qū) 動程序 甚至比用其它Unix系統(tǒng)還來得及時 [6]。 通信方式 手機硬件平臺的 S3C2440屬于片上系統(tǒng),處理器上具備串口、顯示等外圍接口電路,在本系統(tǒng)中使用 S3C2440的 UART端口,將 GPRS模塊的 RS232的 RXD、 TXD與之相連接。需要在內(nèi)核中添加相應的串口驅(qū)動。串口驅(qū)動完成基本的底層操作,為上層的通信程序提供接口函數(shù)。 通用異步收發(fā)器,簡稱 UART,即 ―Universal Asynchronous Receiver Transmitter‖,它用來傳輸串行數(shù)據(jù), 手機發(fā)送數(shù)據(jù) 時, CPU 將并行 數(shù)據(jù)寫入 UART, UART 按照一定的格式在一根電線上串行發(fā)送出去, 手機 接收數(shù)據(jù)時, UART 檢測另一根電線上的信號,將串行數(shù)據(jù)收集到緩沖區(qū)中, CPU 即可讀取 UART 獲得這些數(shù)據(jù) [8]。 UART 之間以全雙工方式傳輸數(shù)據(jù),最精簡的連線方法只有三根線: TX 用于發(fā)送數(shù)據(jù), RX 用于接收數(shù)據(jù), GND 用于給雙方提供參考電平如圖 25 所示。 TXD、 RXD 數(shù)據(jù)線以 ―位 ‖為最小單位進行數(shù)據(jù)傳輸,而信息的最小單位為幀 ,幀由規(guī)定好的若干位組成:開始位、數(shù)據(jù)位、 奇偶 校驗位、停止位等 如圖 26。 開始 位 :先發(fā)出一個邏輯 ‖0‖的 信號,表示傳輸字符的開始。 數(shù)據(jù) 位 :緊接著起始位之后。資料位的個數(shù)可以是 8 等,構成一個 基于 Linux 下智能手機的設計 10 字符。通常采用 ASCII 碼。從最低位開始傳送,靠時鐘定位。 奇偶校驗位:資料位加上這一位后,使得 ―1‖的位數(shù)應為偶數(shù) (偶校驗 )或奇數(shù) (奇校驗 ),以此來校驗資料傳送的正確性。 停止位 :它是一個字符數(shù)據(jù)的結束標志??梢允?1 位、 位、 2 位的高電平。 由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y束,并且提供計算機校正 時鐘同步 的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。 空閑位 :處于邏輯 ―1‖狀態(tài),表示當前線路上沒有資料傳送。 波特 率:是衡量資料傳送速率的指針。表示每秒鐘傳送的二進制位數(shù)。例如資料傳送速率為 120 字符 /秒,而每一個字符為 10 位,則其傳送的波特率為 10120=1200位 /秒 =1200 波特 。 圖 25 UART數(shù)據(jù)傳輸方式 圖 26 數(shù)據(jù)幀的格式 開始位 數(shù)據(jù)位 校驗位 S3C2440 UART TXD RXD GND RXD UART TXD GND 停止位 GPRS 基于 Linux 下智能手機的設計 11 3 手機的軟件系統(tǒng)設計 通信系統(tǒng)設計 GPRS 模組和微處理器之間的連接時通過串口,對于微處理器而言, GPRS 模組就相當于一個調(diào)制解調(diào)器,微處理器通過串口發(fā)送 AT 指令控制 GPRS 模塊工作情況和得到 GPRS 模塊相 關信息。用戶可以通過 AT 命令進行呼叫、短信、電話本、數(shù)據(jù)業(yè)務、補充業(yè)務、傳真等方面的控制。 SIM900 常用的 AT 命令 如 表 1 所示 。 表 1 常用 AT 命令 命令 命令格式 功能描述 AT AT 測試連接是否正常。 AT+CMIC=? AT+CMIC=channel,gain 設置 MIC 的通道及增益。 AT+CMGF=? AT+ CMGF =[mode] 設置短消息格式。 AT+CHFA=? AT+CHFA=stat 切換聲音通道。 AT+CLVL=? AT+CLVL=level 喇叭音量調(diào)節(jié)。 AT+CSCS=? AT+CSCS=[chset] 選擇 TE 字符集。 ATD ATD[n][mgsm][。] 撥號,建立會話、數(shù)據(jù)或傳真等業(yè)務。 ATH ATH[0] 呼叫掛起。 ATA ATA 呼叫應答。 AT+VTS=? AT+VTS=tone 發(fā)送 DTMF 撥號音。 AT+CMGS=? AT+CMGS= da [ ,toda ] AT+CMGS= length 發(fā)送短消息。 AT+CMGR=? AT+CMGR=index[,mode] 讀取短消息。 上位機通過 UART 發(fā)送 AT 命令到 GPRS 模組。 AT 命令以換行符作為指令的結束標志,因此在編程發(fā)送 AT 命令控制 GPRS 模組時,發(fā)送每條命令后還需要發(fā)送 ?\r\n‘標志命令結束 [13]。 基于 Linux 下智能手機的設計 12 (1) ATH 呼叫掛起 用戶使用 ATH( 或 ATH0) 來切斷與遠端用戶的連接,在有多個電話的情況下,所有的電話都釋放 (包括正在通話掛起和等待的電話 )。 (2) ATA 呼叫應答 當命令收到呼叫來電信號時向用戶發(fā)送 RING 然后等待用戶應答呼叫 。應答模式下的命令和響應如表 2 所示。 表 2 應答模式 響 應 RING 有來電 命 令 ATA 應答此來電 響 應 OK 接受呼叫 命 令 ATH 掛斷電話 響 應 NO CARRIER 電話已切斷 (3) AT+CPBR 讀取電話本 該命令返回用 AT+CPBS 命令選擇的存儲區(qū)一定范圍內(nèi)的記錄。 讀取電話本的命令和響應如表 3 所示。 表 3 讀取電話本方式 命 令 AT+CPBR=? 檢測命 令 響 應 +CPBR: (150), 20,10 OK 有 50 個存儲位置電話號碼最長 20 位相關信息最多 10 個字符 命 令 AT+CPBR=12,14 讀取位置 1214 的記錄 響 應 +CPBR : 12,112,129,Emergency +CPBR : 13,+331290909,145, Fred +CPBR :14, 0146290808,129, Zazi OK 顯示記錄位置號號碼號碼類型相關信息 命 令 AT+CPBR=10 讀取記錄 10 響 應 +CPBR :10,0146290921,129,Ro b OK 顯示記錄 10 命 令 AT+CPBR=52 讀取記錄 52 響 應 +CME ERROR: 21 位置號錯誤 (4) AT+CMGR 讀取短消息 基于 Linux 下智能手機的設計 13 命令格式 : AT+CMGR=index 采用 TEXT 方式的響應格式 : +CMGR:stat,oa,[alpha,]scts ,tooa,fo,pid,dcs,sca,tosca,length] data 命 令 :AT+CMGR=1 響 應 :+CMGR: REC UNREAD, 0146290800,98/10/01,18 :22 :11+00, ABCdefGHI OK (5) AT+CMGS 發(fā)送短消息 采用 TEXT 方式的命令格式 : AT+CMGS= da [ ,toda ] text is entered 按 ctrlz 發(fā)送出去 / 按 ESC 取消 . 命 令 : AT+CMGS=+33146290800 Please Call me soon, Fred.ctrlz 響 應 :+CMGS : mr OK 返回給用戶的消息參考值 mr 由模塊分配這個值從 0 開始每發(fā)送一次消息遞增 1 不論是否發(fā)送成功在 0255 之間循環(huán) 。 手機的應用程序設計 串口初始化 手機硬件平臺中的 GPRS 模組和微處理器之間通過 UART 串口連接和通信,在使用 UART 串口前要對串口的一下數(shù)據(jù)進行初始化,包括波特率、數(shù)據(jù)位、停止位、奇偶校驗位等。通過結構體 termios 進行設置以設置串口。結構的定義如下: struct termios{ tcflag_t c_iflag; / * 輸入模式控制 * / tcflag_t c_oflag; / * 輸出模式控制 * / tcflag_t c_cflag; / * 控制模式控制 * / tcflag_t c_lflag; / * 本地模式控制 * / cc_t c_line; / * 線路規(guī)則 * / cc_t c_cc[ NCCS]; / * 控制符 * / 基于 Linux 下智能手機的設計 14 }; UART 串口初始化的程序如下: cfsetispeed(amp。options, B115200)。 /*設置串口的波特率為 115200bps*/ amp。= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|IGNCR|ICRNL|IXON)。 /*設置輸入模式 */ amp。= ~PARENB。 /*設置奇偶校驗位為無奇偶校驗 */ amp。= ~CSTOPB。 /*設置停止位為 1 位 */ amp。= ~CSIZE。 |= CS8。 /*設置數(shù)據(jù)位為 8 位 */ amp。= ~(ICANON | ECHO | ECHOE | ISIG)。 /*設置本地模式 */ 串口的初始化完成后,通過 Linux 下的 write 和 read 函數(shù)分別進行對串口的讀和寫操作。 其函數(shù)原形如下: int write( int handel, void *buf, int nbyte); int read( int handel, void *buf, int nbyte); 然后初始化 GPRS,程序如下: GPRS_SendCommand(AT+CMIC=0,15\n)。 /*設置 MIC的通道及增益 */ GPRS_SendCommand(AT+CHFA=1\n)。 /*設置聲音通道為 1*/ GPRS_SendCommand(AT+CLVL=100\n)。 /* 設置喇叭的音量為 100*/ GPRS_SendCommand(AT+CMGF=1\n)。 /*設置短信息格式 */ GPRS_SendCommand(AT+CLIP=1\r\n)。 /*開啟來電顯示功能 */ GPRS_SendCommand(AT+CSCS=\UCS2\\n)。 /*設置 USC2編碼 */ GPRS_SendCommand(AT+CSMP=17,0,2,25\r\n)。 /*支持漢字發(fā)送 */ 手機信號強度的檢測 當手機信號的強度變化時,手機會自動檢測信號的強度然后作相應的變化,信號檢測的函數(shù)在一個主線程內(nèi),當信息發(fā)生變化時向串口發(fā)送一個 AT 指令“ AT+CSQ\R\N” ,GPRS 返回的數(shù)據(jù)保存在一個隊列當中,然后隊列進行出對操作讀出隊列中的數(shù)據(jù), 代碼如下: 基于 Linux 下智能手機的設計 15 GPRS_SendCommand(AT+CSQ\r\n)。 DeleteQueue(Buf)。 //buf 為出對的數(shù)組, GPRS 返回的數(shù)據(jù)保存在 buf 數(shù)組里面, 返回值的形式為: +CSQ: rssi,ber,第一個參數(shù)是強度,第二個參數(shù)是誤碼率,我們在本程序中只檢測第一個參數(shù)的值就行, buf 里面的數(shù)據(jù)是以字符串形式存儲的,我們需要把字符串中表示信息強度的 第一個參數(shù) 轉(zhuǎn)化成數(shù)字的形式, 表示信號強度的參數(shù)為一個字符或 兩個字符,在我們轉(zhuǎn)化成數(shù)字時要進行一次判斷 : 一種情況是參數(shù)是一位數(shù)時 代碼如下: if(Buf[7] 39。039。||Buf[7] 39。939。) { sign= (Buf[6]) 0x30。 } 另一種情況參數(shù)是兩位數(shù)時 , 代碼如下: if(Buf[7]= 39。039。amp。amp。Buf[7]= 39。939。) { sign= ((Buf[6] 0x30)*10+ Buf[7] 0x30)。 } 然后 把轉(zhuǎn)化為數(shù)字的信號強度 以圖形的方式顯示到觸摸屏 的信號強度的 位置 上面,代碼如下: TFT_ClearWindow(Signbox)。 for(i=0。isign/6。i
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1