<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于μCOS的預(yù)定義UI交互設(shè)計

          基于μCOS的預(yù)定義UI交互設(shè)計

          作者: 時間:2012-02-08 來源:網(wǎng)絡(luò) 收藏

          3.3 預(yù)軟件流程
          預(yù)的菜單針對的是多層次的菜單,可以輕松實現(xiàn)多層次菜單顯示。根據(jù)操作界面各個菜單項,即:在預(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

          h.jpg


          各按鍵通過相似的響應(yīng)流程完成各自不同的響應(yīng)動作,這里以單個按鍵為例,對按鍵動作響應(yīng)流程進(jìn)行介紹。圖6是一個任務(wù)流程,完成對UP按鍵的響應(yīng)動作,動作類型為RT_MOVE_UP。

          i.jpg


          系統(tǒng)上電后,首先對系統(tǒng)硬件和各變量進(jìn)行初始化,屏幕顯示首屏菜單,由活動表示符指明當(dāng)前活動菜單項。當(dāng)UP按鍵按下,進(jìn)入鍵盤中斷,隨即向μ中發(fā)送按鍵消息隊列,執(zhí)行任務(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所示。

          j.jpg



          4 結(jié)語
          UI的廣泛應(yīng)用是當(dāng)今計算機(jī)發(fā)展的重大成就之一,它強調(diào)的是計算機(jī)對于人的反饋交互作用。嵌入式UI具有下面幾個方面的基本要求,輕型、占用資源少,高性能、高可靠性,便于移植、可配置。本項目設(shè)計的UI是預(yù)定義的文本菜單,具有菜單設(shè)計靈活、占用資源少的優(yōu)點,同時支持多層次菜單,菜單功能豐富,適用于大量的中等規(guī)模的嵌入式系統(tǒng)應(yīng)用。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: 交互 設(shè)計 UI 定義 COS 基于

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();