【正文】
=0。 TFT_SetTextPos(Callbox, 0, 15)。 // 創(chuàng)建主窗口 1 TFT_File_Picture(MainFrame, 0, 0,1)。 MsgRecv_pthrea 線程:主要是對(duì)隊(duì)列里的數(shù)據(jù)進(jìn)行分析處理找出主要信息并進(jìn)行 基于 Linux 下智能手機(jī)的設(shè)計(jì) 24 相應(yīng)的操作。 TFT_Print(Callbox, 來電話了 !!!)。 TFT_Print(Callbox, TEMRecvBuf)。 memset(g_RecvBuf,0,300)。 代碼如下: void *UARTread_pthread(void *arg) { int size=0,i=0。 } g_RecvBuf[size]=39。 代碼如下: void *main_pthread(void *arg) { int x,y。 Touch_Get(amp。 } switch(key) { case C_ANSWER: // 接電話按鍵 Tel_Ans()。 case C_MSG: // 查看短消信鍵 Back_Button(50,97,36,12)。 默認(rèn)的輸入是拼音輸入,可以按 ―‖進(jìn)行輸入法的切換。 點(diǎn)擊短信息進(jìn)入后的 界面如圖 42。然后重啟開發(fā)板,并按 PC 機(jī)的空格進(jìn)入 vivi 狀態(tài),如圖 51所示。 選擇菜單欄:傳送 → 發(fā)送文件,選擇要燒錄的鏡像文件 zImage,協(xié)議處選擇Xmodem 協(xié)議,然后單擊 ―發(fā)送 ‖即可,如圖 53 所示。 圖 43 查看短信內(nèi)容界面 點(diǎn)擊圖 42中的 ―發(fā)送短信息 ‖,進(jìn)入發(fā)信息的頁面首先要輸入電話號(hào)碼,然后編寫短信的內(nèi)容,如圖 44所示 。 (2) 在字母輸入模式下 1. 輸入一個(gè)鍵值,進(jìn)入 T9PY_GetPY 函數(shù), 在表中查詢匹配的結(jié)構(gòu)體 2. 把匹配的結(jié)構(gòu)體,給 PY_GetCh 中的結(jié)構(gòu)體數(shù)組賦值 ,返回匹配結(jié)構(gòu)體的個(gè)數(shù), 在 PY_GetCh 中按上下鍵切換結(jié)構(gòu)體,按 0 鍵確定結(jié)構(gòu)體,把結(jié)構(gòu)體中字母加入全部輸入的字符串中。 Msg_Menu()。 case C_HANG: // 掛電話按鍵 Tel_Hang()。y)。 GPRS_init()。 usleep(10*1000)。 while(1) 基于 Linux 下智能手機(jī)的設(shè)計(jì) 26 { while(1) { read(fd_uart,amp。 TFT_ClearWindow(Callbox)。 基于 Linux 下智能手機(jī)的設(shè)計(jì) 25 memset(g_RecvBuf,0,300)。 } else if (strncmp(g_RecvBuf,+CLIP,5)==0) { for(i=0。當(dāng)我們收到 ―NO CARRIER‖時(shí)表示對(duì)方已掛機(jī),當(dāng)我們收到 ‖+CMTI‖時(shí)表示有新短信,在觸摸屏上面顯示 ―你有新短信息 ‖,我們通過確定鍵來查看短信的內(nèi)容。 // 創(chuàng)建消息顯示窗口 2 Signbox = TFT_CreateWindowEx(110, 60, 90, 26, COLOR_CYAN)。 break。 } 圖 32 打電話流程 基于 Linux 下智能手機(jī)的設(shè)計(jì) 23 break。\039。 while (Msg_Show(Num, MaxNum) == ERROR) { printf(你們所指定的位置沒有信息 \n)。 printf(逗號(hào)為 ***%s***\n,UniToStr(E810, douhao))。 TFT_Msg_Print(收件箱 )。 TFT_Msg_Print(發(fā)送成功 !)。 //調(diào)用 T9 輸入 開始 獲取電話號(hào)碼 按下確定鍵? 發(fā)送短信命令 輸入短信內(nèi)容 按下確定鍵? 發(fā)送短信內(nèi)容 發(fā)送短信終結(jié)符 返回 N Y N Y 圖 31 發(fā)送短信過程 基于 Linux 下智能手機(jī)的設(shè)計(jì) 20 法,輸入文字,返回對(duì)應(yīng)信息的 ASCII 碼 if(Info[0] == 39。 TFT_Msg_Print(Tel_Num)。 基于 Linux 下智能手機(jī)的設(shè)計(jì) 19 } break。 GPRS 返回的數(shù)據(jù)即 是序號(hào)為 Num 的電話信息, 循環(huán)讀出 SIM 卡中的電話信息,然后把序號(hào) 、電話號(hào)碼 和聯(lián)系人的姓名打印在屏幕上面, 我們通過點(diǎn)擊觸摸屏上面的上翻下翻的虛擬按鍵來查看聯(lián)系人的信息。U39。 fflush(stdout)。 } } 數(shù)組從隊(duì)列中讀到到的字符串的第十三個(gè)字符 為 ‘C‘第十九個(gè)字符 為 ?M‘時(shí)表示SIM 卡為中國移動(dòng),然后檢測信號(hào)的強(qiáng)度 , 代碼如下: if((Buf[12]== 39。 TFT_SetTextPos(Msg, 20, 33)。 GPRS_SendString(AT+CIMI\r\n)。 GPRS_SendString(AT+CIMI\n)。Buf[7]= 39。039。 /*設(shè)置聲音通道為 1*/ GPRS_SendCommand(AT+CLVL=100\n)。 /*設(shè)置停止位為 1 位 */ amp。結(jié)構(gòu)的定義如下: 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 下智能手機(jī)的設(shè)計(jì) 14 }; UART 串口初始化的程序如下: cfsetispeed(amp。 基于 Linux 下智能手機(jī)的設(shè)計(jì) 12 (1) ATH 呼叫掛起 用戶使用 ATH( 或 ATH0) 來切斷與遠(yuǎn)端用戶的連接,在有多個(gè)電話的情況下,所有的電話都釋放 (包括正在通話掛起和等待的電話 )。] 撥號(hào),建立會(huì)話、數(shù)據(jù)或傳真等業(yè)務(wù)。 SIM900 常用的 AT 命令 如 表 1 所示 。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正 時(shí)鐘同步 的機(jī)會(huì)。 數(shù)據(jù) 位 :緊接著起始位之后。這意味著 對(duì)新硬件的 Linux驅(qū) 動(dòng)程序 甚至比用其它Unix系統(tǒng)還來得及時(shí) [6]。 (4)強(qiáng)大的網(wǎng)絡(luò)功能 Linux操作系統(tǒng)最突出的是網(wǎng)絡(luò)部分,基本上所有的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)接口都可以在 Linux上找到。用戶完全可以把 Linux內(nèi)核和 root文件系統(tǒng)放在一張軟盤上。同時(shí),由于遍布全球的眾多 Linux愛好者又能給予 Linux開發(fā)者強(qiáng)大的技術(shù)支持,所以眾多商家紛紛轉(zhuǎn)向嵌入式 Linux的開發(fā)。也可以手動(dòng)按下 GPRS 模組上的 ON/OFF 按鍵,大約 2 秒之后松開, GPRS 模組亦可以被啟動(dòng)。以上這些模塊都由 S3C2440芯片來控制,它們共同構(gòu)成了智能手機(jī)的應(yīng)用模塊 , 如圖 24所示。 Bank6—bank7: SRAM、 ROM SDRAM(NOR FLASH)。 (6)具有電源管理功能,可以使系統(tǒng)以普通方式、慢速方式、空閑方式和掉電方式工作,降低產(chǎn)品功耗。采用這種架構(gòu)的原因是因?yàn)閼?yīng)用處理器構(gòu)成一個(gè)子系統(tǒng),與基帶處理器通信子系統(tǒng)隔離開來。 設(shè)計(jì)研究的預(yù)期效果 通過對(duì)本課程程序的設(shè)計(jì)和分析,完成此設(shè)計(jì)的最終效果如下: (1)采用 GPRS 模塊 SIM900,實(shí)現(xiàn)顯示網(wǎng)絡(luò)運(yùn)營商、短信的收發(fā)、電話的接打、存儲(chǔ)短信、信號(hào)強(qiáng)度的功能。 支持 Linux操作系統(tǒng)的機(jī)型:摩托羅拉 A768I、摩托羅拉 A780、飛利浦 96海爾N60、中興 E3。 Linux操作系統(tǒng)系統(tǒng)資源占用率較低,而且性能比較穩(wěn)定,這都是大家公認(rèn)的。 采用 Linux操作系統(tǒng)的理由是降低智能手機(jī)的生產(chǎn)成本。 S3C2440 處理器 廣泛應(yīng)用于 PDA、智能手機(jī)、 MP3 等產(chǎn)品中。 本文首先對(duì) Linux 手機(jī)的發(fā)展現(xiàn)狀和研究背景進(jìn)行了分析, 其次,介紹了智能手機(jī)的硬件平臺(tái)、操作系統(tǒng)和軟件設(shè)計(jì)。 關(guān)鍵字 智能手 機(jī) Linux GPRS 模組 ARM9 開發(fā)板 基于 Linux 下智能手機(jī)的設(shè)計(jì) II DESIGN OF SMARTPHONE BASED ON LINUX ABSTRACT The most fundamental feature of Smartphone is its open operating system expandable functions and supporting the third—party application software. As mobile munication work e into operation, smart phone which support data and voice service will bee a mainstream product in china cell phone market soon. In the next few years, smart phone market will develop fast enough. This market has great potential. Smartphone is the trend of cell phone development in the future. Firstly, this article analyses the situation of development of Smartphone, second, introduced hard platform. Through to design of software and hardware, the system can plete the function that detecting signal strength, detection of work operators, transceiver in SMS, receiving a call, create contacts, delete contacts. Lastly, set up the hardware environment and the crossdevelopment environment, pile the code to generate the executable file, by cross piler based on GPRS module of the ARM9 development board to run the executable program, through the touch panel on top of the virtual key functional testing, according to test results make the system more perfect and fluency. KEY WORDS Smart phone Linux GPRS module ARM9 platform 基于 Linux 下智能手機(jī)的設(shè)計(jì) 目 錄 中文摘要 .............................................................................................................................. I 英文摘要 ............................................................................................................................. II 1 緒論 ............................................................................................................................... 1 引言 ...........................................................................