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

正文內(nèi)容

優(yōu)秀畢業(yè)論文設(shè)計(jì):基于linux下智能手機(jī)的設(shè)計(jì)-資料下載頁

2025-05-06 07:48本頁面

【導(dǎo)讀】行功能擴(kuò)展和可以安裝第三方應(yīng)用軟件。隨著支持?jǐn)?shù)據(jù)傳輸?shù)摹YM(fèi)高潮的主力產(chǎn)品,市場潛力巨大,因此智能手機(jī)的開發(fā)是未來手機(jī)技術(shù)發(fā)展的趨勢。機(jī)的硬件平臺、操作系統(tǒng)和軟件設(shè)計(jì)。通過對硬件的配置和軟件的設(shè)計(jì)實(shí)現(xiàn)手機(jī)信號。最后,建立硬件環(huán)境和交叉編譯環(huán)境,在Linux環(huán)境下,編譯代碼生成可執(zhí)

  

【正文】 key_buf[i]=39。\039。 } if(i==0) { flag=0。 return 。 } 圖 32 打電話流程 基于 Linux 下智能手機(jī)的設(shè)計(jì) 23 break。 號碼輸入完成后我們點(diǎn)擊觸摸屏上面的呼叫鍵,我們向串口發(fā)送了一個(gè)打電話的命令, ―ATD‖后面跟我們輸入的電話號碼,此時(shí) 我們等待應(yīng)答信息的到來,最后進(jìn)入通話狀態(tài),代碼如下: case C_CALL: GPRS_SendString(ATD)。 GPRS_SendString(key_buf)。 GPRS_SendString(。\n)。 TFT_Tel_Print(正在拔叫 ...)。 TFT_SetTextPos(Callbox, 0, 15)。 TFT_Print(Callbox,%s,key_buf)。 break。 系統(tǒng) 主程序分 析 主界面程序包含了對應(yīng)的圖像文件和源代碼。主要功能是提供主菜單的顯示和觸摸屏數(shù)據(jù)的讀取。初期這個(gè)程序里還包含了觸摸屏數(shù)據(jù)識別函數(shù),用于把相應(yīng)的位置翻譯成對應(yīng)的控制信息。在主程序里面首先要調(diào)用函數(shù) Uart_Init()初始化串口、調(diào)用TFT_Init()初始化觸摸屏、 調(diào)用 ts_cal_init()進(jìn)行觸摸屏校準(zhǔn)操作,初始化完畢后開始創(chuàng)建消息窗口、信號窗口、呼叫窗口。 然后設(shè)置窗口底色, 代碼如下: MainFrame = TFT_CreateWindowEx(0, 0, 320, 240, COLOR_BLUE)。 // 創(chuàng)建主窗口 1 TFT_File_Picture(MainFrame, 0, 0,1)。 // 顯示主窗口圖片 Msg = TFT_CreateWindowEx(110, 60, 90, 110, COLOR_YELLOW)。 // 創(chuàng)建消息顯示窗口 2 Signbox = TFT_CreateWindowEx(110, 60, 90, 26, COLOR_CYAN)。 // 創(chuàng)建信號顯示窗口 3 Callbox = TFT_CreateWindowEx(110, 120, 90, 26, COLOR_CYAN)。 // 創(chuàng)建信號顯示窗口 3 TFT_SetColor(Msg, COLOR_RED)。 TFT_SetColor(Signbox, COLOR_RED)。 TFT_SetColor(Callbox, COLOR_RED)。 主程序最主要的是創(chuàng) 建三個(gè)線程實(shí)現(xiàn)手機(jī)的基本功能。 MsgRecv_pthrea 線程:主要是對隊(duì)列里的數(shù)據(jù)進(jìn)行分析處理找出主要信息并進(jìn)行 基于 Linux 下智能手機(jī)的設(shè)計(jì) 24 相應(yīng)的操作。當(dāng)我們收到數(shù)據(jù)是 ―RING‖時(shí)表示來電話了,我們在 Callbox 窗口顯示―來電話了 ‖的字樣, 當(dāng)數(shù)到的數(shù)據(jù)是 ―+CLIP‖時(shí) 表示收到的是來電的電話號碼。當(dāng)我們收到 ―NO CARRIER‖時(shí)表示對方已掛機(jī),當(dāng)我們收到 ‖+CMTI‖時(shí)表示有新短信,在觸摸屏上面顯示 ―你有新短信息 ‖,我們通過確定鍵來查看短信的內(nèi)容。此線程的代碼如下: void *MsgRecv_pthread(void *arg) { int flag=1,i。 char TEMRecvBuf[11]。 while(1) { if(strncmp(g_RecvBuf, RING,4) == 0) { printf(來電話了 \n)。 TFT_ClearWindow(Callbox)。 TFT_SetTextPos(Callbox, 0, 11)。 TFT_Print(Callbox, 來電話了 !!!)。 memset(g_RecvBuf,0,300)。 } else if (strncmp(g_RecvBuf,+CLIP,5)==0) { for(i=0。i11。i++) { TEMRecvBuf[i]= g_RecvBuf[i+8]。 //存儲來電顯示號碼 } TEMRecvBuf[i]=39。\039。 TFT_SetTextPos(Callbox, 0, 0)。 TFT_Print(Callbox, TEMRecvBuf)。 printf(phonenum=%s\n,TEMRecvBuf)。 基于 Linux 下智能手機(jī)的設(shè)計(jì) 25 memset(g_RecvBuf,0,300)。 } else if(strncmp(g_RecvBuf, NO CARRIER,10) == 0) { printf(對方已掛機(jī) \n)。 TFT_ClearWindow(Callbox)。 TFT_Print(Callbox, TEMRecvBuf)。 TFT_SetTextPos(Callbox, 0, 11)。 TFT_Print(Callbox, 未接電話 !!!)。 memset(g_RecvBuf,0,300)。 } if(strncmp(g_RecvBuf, +CMTI:,6) == 0) // 收到短信 { printf(你有新短信 :\n 按確定鍵查看短消息 \n)。 TFT_ClearWindow(Callbox)。 TFT_SetTextPos(Callbox, 0, 11)。 TFT_Print(Callbox, 來消息了 !!!)。 memset(g_RecvBuf,0,300)。 printf(g_RecvBuf=%s\n,g_RecvBuf)。 } } } UARTread_pthread 線程:主要接收 GPRS 的數(shù)據(jù),進(jìn) 行簡單的處理后放入隊(duì)列,等待其余線程進(jìn)行接收。 代碼如下: void *UARTread_pthread(void *arg) { int size=0,i=0。 char ch。 while(1) 基于 Linux 下智能手機(jī)的設(shè)計(jì) 26 { while(1) { read(fd_uart,amp。ch,1)。 g_RecvBuf[size++]=ch。 if(ch==39。\n39。) break。 } g_RecvBuf[size]=39。\039。 usleep(10*1000)。 size=0。 InsertQueue(g_RecvBuf)。 printf(uart_recv=%s\n,g_RecvBuf)。//打印從 uart 讀取上來的數(shù)據(jù) } return NULL。 } main_pthread 線程: 通過觸摸屏的坐標(biāo)來確定按鍵的值,通過按鍵值來完成相應(yīng)的操作 。 代碼如下: void *main_pthread(void *arg) { int x,y。 int key。 GPRS_init()。 Tel_Net(showinfo)。 Desk_Show()。 while(1) { printf(the phone test....\n)。 printf(press any key to call\n)。 Desk_Show()。 Touch_Get(amp。x,amp。y)。 基于 Linux 下智能手機(jī)的設(shè)計(jì) 27 key=Touch_Trans(x,y)。 if(key=9amp。amp。key=0) { call_func(key)。 continue。 } switch(key) { case C_ANSWER: // 接電話按鍵 Tel_Ans()。 break。 case C_HANG: // 掛電話按鍵 Tel_Hang()。 break。 case C_BOOK: // 通信錄鍵 Back_Button(0,97,36,12)。 sleep(1)。 PhoneBook_Look()。 break。 case C_MSG: // 查看短消信鍵 Back_Button(50,97,36,12)。 //畫 2 個(gè)矩形圖片 sleep(1)。 Msg_Menu()。 //調(diào)用信息模塊 sleep(1)。 break。 } } return NULL。 } 基于 Linux 下智能手機(jī)的設(shè)計(jì) 28 T9輸入法 T9 輸入法給用戶提供了一個(gè)接口,通過接口函數(shù)進(jìn)入輸入法,返回一個(gè)字符串首地址。進(jìn)入輸入法后,接口函數(shù)調(diào)用 PY_GetCh()獲取一個(gè)漢字或字符編碼。 默認(rèn)的輸入是拼音輸入,可以按 ―‖進(jìn)行輸入法的切換。 (1) 在數(shù)字輸入模式下 直接返回輸入數(shù)字的 ascii 碼在接口函數(shù)中調(diào)用 TFT_Print 在屏幕顯示。 (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)體中字母加入全部輸入的字符串中。返回接口函數(shù)后調(diào)用 TFT_printf 函數(shù)打印字符串。 (3) 在拼音輸入模式下 按下相應(yīng)的按鍵進(jìn)入 T9PY_GetPY, 獲取與輸入相匹配的 T9 拼音列表 , 返回匹配的結(jié)構(gòu)體的個(gè)數(shù) , PY_GetCh按上下鍵切換匹配的結(jié)構(gòu)體 , 按 enter 鍵進(jìn) 入 PY_GetHZ 函數(shù), 根據(jù)輸入的拼音顯示匹配的漢字列表,并由鍵盤選取漢字。 按上 下鍵上下翻頁漢字,按下對應(yīng)的數(shù)字鍵,返回漢字。在接口函數(shù)中顯示。 基于 Linux 下智能手機(jī)的設(shè)計(jì) 29 4 實(shí)驗(yàn)效果圖 手機(jī)主界面如圖 41所示。 點(diǎn)擊短信息進(jìn)入后的 界面如圖 42。 圖 42 手機(jī)短信選擇頁面 圖 41 手機(jī)主界面 基于 Linux 下智能手機(jī)的設(shè)計(jì) 30 點(diǎn)擊 ―查看短信息 ‖查看 SIM卡里面儲存的短息,如圖 43。 圖 43 查看短信內(nèi)容界面 點(diǎn)擊圖 42中的 ―發(fā)送短信息 ‖,進(jìn)入發(fā)信息的頁面首先要輸入電話號碼,然后編寫短信的內(nèi)容,如圖 44所示 。 圖 44 輸入短信息頁面 基于 Linux 下智能手機(jī)的設(shè)計(jì) 31 點(diǎn)擊圖 41界面上面的 ―通訊錄 ‖,可以查看 SIM卡上面的聯(lián)系人,進(jìn)入通訊錄后的界面如圖 45. 圖 45 通訊錄界面 當(dāng)有電話來時(shí),在圖 41的界面上會有來電提醒,如圖 46所示。 圖 46 來電時(shí)的界面 基于 Linux 下智能手機(jī)的設(shè)計(jì) 32 當(dāng)有信息來到時(shí) 圖 41的 界面會顯示 ―來信息了 ‖,如圖 47所示。 圖 47 信息提醒界面 撥打電話時(shí)首先輸入要撥打的電話號碼,然后按撥出鍵,等待對方的接受,如圖48所示。 圖 48 撥打電話界面 基于 Linux 下智能手機(jī)的設(shè)計(jì) 33 5 手機(jī)系統(tǒng)測試 開發(fā)板環(huán)境的搭建 (1) 燒錄 vivi 使用 JTAG 燒錄 BootLoader——vivi。 (2) 燒錄 Linux 內(nèi)核 zImage 啟動超級終端(波特率設(shè)為 115200、數(shù)據(jù)位為 8 位、奇偶校驗(yàn)為無、停止位為 1位、數(shù)據(jù)流控制為無。然后重啟開發(fā)板,并按 PC 機(jī)的空格進(jìn)入 vivi 狀態(tài),如圖 51所示。 然后輸入命令: load flash kernel x,出現(xiàn)如圖 52 所示。 選擇菜單欄:傳送 → 發(fā)送文件,選擇要燒錄的鏡像文件 zImage,協(xié)議處選擇Xmodem 協(xié)議,然后單擊 ―發(fā)送 ‖即可,如圖 53 所示。 圖 51 進(jìn)入 vivi 基于 Linux 下智能手機(jī)的設(shè)計(jì) 34 圖 52 燒錄內(nèi)核命令 圖 53 發(fā)送內(nèi)核 (3) 燒錄根文件系統(tǒng) 燒錄根文件系統(tǒng)與燒錄內(nèi)核過程類似,首先在 vivi 狀態(tài)下輸入命令: load flash root x,然后選擇菜單欄:傳送 —發(fā)送文件,選擇要燒錄的鏡像文件 ,協(xié)議處選擇 Xmodem 協(xié)議,然后單擊 ―發(fā)送 ‖即可。 (4) 啟動開發(fā)板
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1