基于μCOS的預定義UI交互設計
3.1 操作界面
根據電能計量終端的監(jiān)控內容,設計菜單窗口和各菜單項對應的監(jiān)控界面。設備上電后,將顯示版本號,接著進入菜單窗口。菜單窗口有4行,其中前2行顯示菜單項,后2行顯示實時時間。菜單項共有4個,分別為交流電(包括市電和油電)、風電和光電參數。通過上下按鍵在主窗口的前兩行進行菜單項切換。菜單窗口設計如圖3所示。本文引用地址:http://www.2s4d.com/article/149764.htm
在選擇的菜單項上點擊enter鍵進入該菜單項對應的監(jiān)控界面,監(jiān)控內容分屏顯示。交流電子菜單分7屏來顯示交流電接入類型(市電/油電)、交流電壓、交流電量、有功功率、市電/油電停電時間、市電/油電來電時間、功率因數等,圖4(a)為其中一屏;光電/風電子菜單分2屏來顯示光電/風電電壓、光電/風電電流、光電/風電電量、光電/風電功率等,圖4(b)為其中一屏。用戶可通過up,down鍵和esc鍵來切屏和返回至菜單窗口。
3.2 預定義菜單設計
μCOS是一個源碼公開、可移植、可固化、可裁剪、搶占式、支持多任務的實時操作系統(tǒng),運行于沒有MMU的嵌入式微處理器上,采用可剝奪型內核進行任務調度,實時性好,小巧且移植方便,適合工業(yè)控制領域使用。在μCOS中,設置一個UI任務,完成響應用戶的鍵盤輸入、選擇菜單和根據用戶選擇的菜單執(zhí)行相應操作。菜單設計成多層次形式。菜單設計采用預定義的集中描述,由程序解析菜單定義形式??身憫陌存I集也以數組的形式在菜單數組中定義。鍵盤服務設計成中斷級任務,通過專用的消息隊列發(fā)送鍵值到UI任務,實現實時信息顯示。
預定義的菜單由3部分控制:
①菜單顯示區(qū)域坐標。用來定義菜單顯示區(qū)域左上角字符坐標(符號常量MENU_AREA_LT_X,MENU_AREA_LT_Y,)和右下角字符坐標(符號常量MENU_AREA_RB_X,MENU_AREA_RB_Y),顯示的菜單要限制在這個區(qū)域中。
②菜單定義。設計一個結構體數組,數組中的每個結構體描述一個菜單項的各項設置,這個結構體數組稱為“菜單定義結構體數組”(Menu Deftne Structure,MDS),在C代碼中命名為Menu_Define[]。
③當前有效菜單項指針。定義一個整型變量,稱為“菜單指針”(Menu Pointer,MP),MP的值與MDS的數組下標相對應,指明了當前有效的菜單項。菜單定義采用枚舉類型標識,以提高代碼的可讀性。
評論