基于μCOS的預(yù)定義UI交互設(shè)計
3.3 預(yù)定義UI交互軟件流程
預(yù)定義的菜單設(shè)計針對的是多層次的菜單設(shè)計,可以輕松實現(xiàn)多層次菜單顯示。根據(jù)操作界面設(shè)計各個菜單項,即:在預(yù)定義的菜單項結(jié)構(gòu)體中定義菜單項的標(biāo)識符、坐標(biāo)、上下臨菜單項標(biāo)識符、父子菜單標(biāo)識符和可響應(yīng)按鍵集等等。用戶在當(dāng)前有效菜單項上點擊按鍵,系統(tǒng)根據(jù)動作ID散轉(zhuǎn),在可響應(yīng)按鍵集中找出相應(yīng)的響應(yīng)動作,圖5為按鍵響應(yīng)動作類型散轉(zhuǎn)流程圖。本文引用地址:http://www.ex-cimer.com/article/149764.htm
各按鍵通過相似的響應(yīng)流程完成各自不同的響應(yīng)動作,這里以單個按鍵為例,對按鍵動作響應(yīng)流程進(jìn)行介紹。圖6是一個UI交互任務(wù)流程,完成對UP按鍵的響應(yīng)動作,動作類型為RT_MOVE_UP。
系統(tǒng)上電后,首先對系統(tǒng)硬件和各變量進(jìn)行初始化,屏幕顯示首屏菜單,由活動表示符指明當(dāng)前活動菜單項。當(dāng)UP按鍵按下,進(jìn)入鍵盤中斷,隨即向μCOS中發(fā)送按鍵消息隊列,執(zhí)行UI任務(wù),在UI任務(wù)中將中斷掛起,而后運行鍵盤掃描代碼,判斷出鍵值UP。此時,UI任務(wù)將根據(jù)當(dāng)前活動菜單標(biāo)識符執(zhí)行RT_MOVE_UP功能。首先判斷菜單顯示區(qū)域內(nèi)的當(dāng)前活動菜單項標(biāo)識符(CAID)是否等于它的上臨菜單(CAID.上臨ID),如果相等,不做任何操作;如果不等,再判斷CAID是否為當(dāng)前菜單顯示區(qū)域內(nèi)正在顯示的最頂端的菜單項標(biāo)識符(TMID)。如果CAID=TM ID,那么CAID=TMID=CAID.上臨ID,調(diào)用顯示菜單函數(shù),顯示此屏幕的上一屏菜單;如果CAID不是TMID,則CAID=CAID.上臨ID,調(diào)用顯示菜單函數(shù),活動表示符指向CAID.上臨ID。
3.4 UI交互設(shè)計實物圖
UI交互設(shè)計實物圖如圖7所示。
4 結(jié)語
UI的廣泛應(yīng)用是當(dāng)今計算機(jī)發(fā)展的重大成就之一,它強調(diào)的是計算機(jī)對于人的反饋交互作用。嵌入式UI具有下面幾個方面的基本要求,輕型、占用資源少,高性能、高可靠性,便于移植、可配置。本項目設(shè)計的UI是基于預(yù)定義的文本菜單,具有菜單設(shè)計靈活、占用資源少的優(yōu)點,同時支持多層次菜單,菜單功能豐富,適用于大量的中等規(guī)模的嵌入式系統(tǒng)應(yīng)用。
評論