嵌入式微系統(tǒng)的操作臺:面向對象的界面編程

時間:2014-07-07

來源:網(wǎng)絡轉載

導語:msOS采用的菜單界面,非常簡單,是一個架構性的菜單界面,很適合用戶看懂之后,自己修改、增刪,也可以應用于彩屏。菜單界面的細節(jié)部分,請參考源碼。

msOS采用128*64的字庫黑白屏,降低硬件設計復雜度,這個屏一行可以顯示8個漢字或者16個字母,總共4行。界面開發(fā)基于面向對象方式,把界面抽象為幾個頁面,而頁面又由控件組成,以我做的高頻機為例,抽象了5個頁面,每個頁面上都由背景文字、標簽和文本組成。

上圖為工作頁面,由一張背景文字(BackText),兩個文本(TextBox)和五個標簽(Label)組成。背景文字用于顯示固定的說明文字,比如頻率、功率等,這些文字在這個頁面下是固定不能變化的。標簽控件用于顯示變量值,可以是字符串也可以是數(shù)字。文本控件具有標簽的功能外,還可以通過按鍵等修改變量值。以上三種控件構成了最常用的頁面。

     接觸過PC機編程的,對于控件概念是非常容易接受的,若沒有接觸過,可以通過msOS配套的硬件開發(fā)平臺msPLC Demo了解界面編程,這樣會相對容易很多,此外也可以接觸一下C#編程,從跟msOS配套的msMenu源碼入手,這個msMenu源碼比較簡單,在PC機上用C#虛擬了128*64的黑白字庫屏。有了msMenu,各類STM32F103的開發(fā)板都可以運行msOS,通過串口跟PC機通訊,在msMenu上顯示,不需要硬件LCD屏,方便大家學習。msMenu的兩個主顯示區(qū),就是由兩個大的TextBox組成。

    下圖為msMenu



      界面編程基于面向對象設計,首先要建立頁面及各個控件的對象類型。下圖為頁面的對象類型。



  BackTextPointer:背景文字控件加載點,是一個16*4字節(jié)的數(shù)組,作為頁面背景。

  ChartPointer:圖表控件加載點,高頻機項目中用到,是一個特殊控件,一般項目用不到。

  LabelPointer:標簽控件加載點,一個Form可以支持多個Label,需要支持多控件級聯(lián)。

  TextBoxPointer:文本控件加載點,一個Form可以支持多個TextBox,需要支持多控件級聯(lián)。

  FocusTextBoxDataPointer:文本控件操作選擇,設定焦點用于選擇那個文本控件用于輸入。



  設計程序的時候,第一步要建立頁面Form,如下圖:


第二步,定義各種控件和資源。



第三步,各個頁面加載控件,初始化控件參數(shù),關聯(lián)業(yè)務邏輯數(shù)據(jù)庫中的數(shù)據(jù)。



第四步,執(zhí)行MenuTask解析當前頁面


     msOS采用的菜單界面,非常簡單,是一個架構性的菜單界面,很適合用戶看懂之后,自己修改、增刪,也可以應用于彩屏。菜單界面的細節(jié)部分,請參考源碼。

中傳動網(wǎng)版權與免責聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網(wǎng)公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0