色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過采用μc/GUI軟件實現鍵盤響應的無紙記錄儀界面設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-10-23 07:51 ? 次閱讀

引 言

無紙記錄儀記錄采樣得到的數據,并根據用戶選擇的配置顯示出用戶需要的時問段的數據。該記錄儀實現無筆、無紙記錄,日常維護工作小。可同時輸入多種信號,互不干涉,實時顯示,可靠性好,應用靈活。

對無紙記錄儀界面要求是:顯示信息量大,方便用戶查找所需要的信息;操作簡單,界面友好,使用戶不必進行專業培訓即可操作。

1、μC/GUI

1.1 μC/GuI簡介

μc/GUI是美國Micrium公司出品的一款針對嵌入式系統的優秀圖形軟件。它是為任何使用LcD(液晶顯示器)圖形顯示的應用提供高效的、獨立于處理器及LcD控制器而設計的GuI(圖形用戶接口),適用于單任務或多任務系統環境。其主要特性是:豐富的圖形庫,多窗口、多任務機制,窗口管理及豐富窗口控件類(按鈕、檢驗框、單/多行編輯框、列表框、進度條、菜單等),多字符集和多字體支持,多種常見圖像文件支持,鼠標、觸摸屏支持,靈活自由配制等。

1.2 μC/GuI文件組織

μC/GUI文件結構見圖l。

通過采用μc/GUI軟件實現鍵盤響應的無紙記錄儀界面設計

μC/CUl\GuI\Ant認lias:處理顯示的邊緣模糊效果,即抗鋸齒和優化LCD鋸齒。

μC/CuI\GUI\ConvertColor:涉及調色板模式。μC\GuI的調色板模式支持111、222、223、323、332、444、555、565、8666等相關模式。

μc/GuI\GuI\ConvertMono:描述單色顯示的不同模式。

μC/GUI\GUI\Core:是μC/GUI的核心部分,包括GUI頭文件、GUI顯示各種文本和數字、設置各種字體、2一D圖形庫、繪圖函數、鍵盤函數等。

μC/GUI\GUI\Font:μC/GUl支持的字體。

μC/GUI\GUI\LCDDriver:很多已經完備的LCD控制器的驅動程序以及API函數。

tAC/GUI\GUI\MemDev:MemDev的所有函數。txC/GUI函數繪圖不使用MemDev時,畫圖操作直接寫到終端上顯示,交迭繪圖執行時刷新屏幕,多次刷新時就會出現抖動。如果在程序中使用MemDev,則所有的執行操作都在MemDev中執行,當所有的操作都執行完畢之后,最后的結果才會送到屏幕上顯示,因而可以避免多次刷新,從而避免抖動。

μC/GUI\GUI\Touch:觸摸屏驅動函數。

μC/GUI\GUI\Widget:窗口控件函數。

μC/GUI\GUI\WM:窗口管理函數。

1.3 μC/GUI與其他圖形系統的比較

a)μC/GUI優勢在于體積小,配制性強,運用領域廣泛。只要滿足RAM 1 00 B,堆棧5 0 0 B,ROM10 kB的小型系統中都可以運行μC/GUI,而這個需求是其他圖形系統所不及的。在資源豐富的大型系統中,也只需要RAM 2 kB~6 kB,堆棧1 2 00 B,ROM30kB一60kB就可以滿足μC/GUI的各種功能。對比于其他圖形系統最少幾百kB,動輒上MB的系統而言是非常有優勢的。其眾多的配制,滿足不同需求用戶需要,方便靈活小巧,實用性大大增強。

b)平臺的廣泛性,移植方便。由于μc/GuI是100%C編寫,適應絕大多數軟硬平臺,相對于眾多具有軟硬件針對性的圖形系統而言,結構劃分和模塊劃分非常清晰,分設專門的LCD驅動模塊,移植簡單方便。代碼量相對較小,易操作,可擴展性強,方便用戶定制和自主更新完善,滿足個性需求。

2、工程項目分析

本文主要實現無紙記錄儀的界面。項目中利用μC/GUI的消息傳遞機制來實現各控件之間的聯系及功能,使用回調函數進行各界面之間的切換。

2.1消息機制

μC/GuI是采用消息驅動的,它專門有對外的一套收集消息的接口。

一些基本的消息如下:

wM-CREATE:窗體創建消息,每創建一個窗體完后都會向該窗體發送此消息。

wM-SHOW:顯示窗體消息,此消息在μC/GUI中各控件窗體內均未作處理。要顯示窗體一般使用wM-ShowWindow函數。

WM-PAINT:窗體重畫消息,當窗體所在區域全部或部分無效時,系統會發出該消息,將無效區域重畫,μC/GUI中是將全部區域重畫;當由外部輸人操作引起無效區域產生時,系統會在消息處理中發送該消息到窗體消息回調函數中,以重畫此窗體。

WM-KEY:處理按鍵式操作的輸入外設的消息,消息中必須包含按鍵的按下或彈起狀態,此消息在任務消息循環中循環處理,一旦產生就會發送給當前焦點窗體。

wM-SET_FOCUS:所有外部輸入設備消息都是發送給當前焦點窗體的,用戶可以通過此消息來設定當前的焦點窗體。

WM-NOTIFY-PARENT:此消息將子窗體的外設輸入消息傳送到它的父窗體,因為一般情況下消息都是在父窗體中統一處理,如對話框中的按鈕點擊事件,一般在用戶自定義的窗體消息處理函數中處理,所以必須要子窗體將獲取的輸入外設的消息傳送給父窗體,這樣才能在父窗體中進行子窗體的點擊事件消息的處理,處理該消息時通過控件ID來區別不同的控件,通過消息中的通知碼來區別控件被操作的各種狀態。

wM_DELETE:要刪除窗體時發送的消息,主要清除窗體數據結構所占用內存,此消息由WM-DeleteWindow函數發送。

WIDGET_HandleActive:基礎控件共通消息處理,大部分μC/GUI控件中都會在消息回調函數的頭部進行這個調用,處理了消息后,就直接退出消息回調函數的調用。這個函數中處理如下消息:

WM-GET-ID:返回窗體控件標志ID。

WM-SET-FOCUS:設置當前窗體為焦點窗體,設置完后還必須向該窗體的父窗體發送WM-NOTIFY-CHILD-HAS-FOCUS消息,讓其父窗體更新它記載的當前焦點子窗體。WM-GET-HAS-FOCUS:獲取當前窗體是否為焦點窗體。

WM-SET-ENABLE:設置窗體為不可用窗體。

WM-GET-ACCEPT-FOCUS:獲取當前窗體是否可設置為焦點窗體。 WM-GET-INSIDE-RECT:返回窗體內框矩形。

WM-DefauhProc:窗體默認消息處理函數,μC/GUI中提供一些基礎的控件,這些控件有些共通的消息均在此處理,如下:

WM-GETCLIENTRECT:獲取窗體矩形區域,相對于矩形自身。

WM-GETORG:獲取窗體矩形左上角坐標。

WM-GET-INSIDE-RECT:獲取窗體矩形區域,相劉屏幕。

WM-GET-CLIENT-WINDOW:獲取窗體客戶區子窗體句柄。

下面以項目中按下OK按鈕事件為例來簡單說明消息傳遞機制(見圖2)。

通過采用μc/GUI軟件實現鍵盤響應的無紙記錄儀界面設計

按下OK按鈕,隨后產生按鈕WM-TOUCH消息。消息LOOP調用按鈕默認的按鈕窗口消息處理函數一BUTYON-Callback。一OnTouch默認處理按鈕按下事件并發送給父窗體WM-NOTIFY-PARENT消息,這種情況下,消息中還有一個通知碼WM-NOTIFICATION-REI_EASED。默認的對話框窗體消息處理函數一FRAMEWIN-Callback收至 WM-NOTIFY-PARENT消息并最終傳送該消息到自己定義的對話框消息處理函數。由一FRAMEWIN-Callback傳送的消息首先傳送到對話框的默認窗體消息回調函數一CbDialog,然后再經它傳送到用戶自定義的窗體回調函數當中。在自己的對話框消息處理函數中處理wM-NOTIFY-PARENT消息,該消息參數中含有按鈕的ID及操作狀態,如果通知碼是WM-NOTIFICATION-RELELASED,此時證明一次按下按鈕事件完成。

再來分析一下對話框外面的消息接收:GUI-Exec-DialogBox函數有幾個參數:第1個是對話框的資源定義數組,這個數組定義了對話框的組成子窗體,其中數組第1個成員必須是FrameWin窗體,數組每1個成員記載了創建子窗體所用函數/子窗體Caption/子窗體標志:ID/子窗體的位置及寬高/創建窗體時樣式標志/額外傳送的參數。第2個參數是上述的數組的大小。第3個參數是用戶指定的對話框窗體消息回調函數指針。第4個參數是對話框的父窗體,默認為0。第

5、第6參數指定對話框的左上角屏幕位置。

GUI-ExecDialogBox主要完成如下工作:

a)根據傳進來的對話框資源定義數組創建對話框及對話框中的子窗體。

b)根據傳進來的窗口消息處理函數,記載到一全局變量保存,當這個全局變量中記載的函數指針為非空時,執行消息LOOP,消息LOOP中會將當前KEY消息發送給當前焦點窗體。

c)當對話框關閉時,記載對話窗體消息回調函數的全局變量會被清為0,此時消息LOOP就會退出,對話框結束。

2.2回調函數

回調函數是由用戶定義的,當特定事件發生時,指示圖形系統調用特定函數的函數。通常當窗口的內容發生改變時,它們用來自動重繪窗門。例如,窗口內顯示一幅位圖,當窗口移動時,位圖并不會自動移動,此時,就需要調用回調函數對窗口進行重繪,即從觀眾的角度來看,移動窗口和窗口內容。

μC/GuI提供給窗口和窗口控件的回調機制的背后,是一個事件驅動標志。在大多數的窗口系統中,不僅從用戶程序到圖形系統,而且還要能夠從用戶程序到圖形系統,并且能夠通過用戶程序提供的回調函數,返回到用戶程序。這個機制稱為回調機制。在μC/GuI中,回調機制用來在窗口管理中控制窗口的重繪操作,這使得窗口管理的有效性成為可能。

使用回調函數建立一個窗口時,必須有一個回調函數。所用的回調函數必須有如下原型:void callback(wM-MESSAGE*pMsg)。其中pMsg為指向消息的指針。回調函數執行的功能依賴于所接收到的消息。以上原型后面一般跟著switch表達式,表達式定義不同的case表達式下不同的信息對應的不同行為,至少要有一個重繪函數:WM-PAINT()。在工程項目中所有功能都是通過上述消息機制以及回調函數來進行實現的。

3、結束語

本文對μC/GUI的消息機制、回調函數作了簡單介紹。實現了鍵盤響應的無紙記錄儀界面,包括按鈕、列表框各種控件,見圖3。

圖3界面包含了無紙記錄儀中的所有控件,列表框可以實現上下選擇,編輯框可以實現輸入,按鈕可響應外界消息。通過鍵盤的左右鍵來實現各控件的切換,以便對某些控件進行操作控制。

通過采用μc/GUI軟件實現鍵盤響應的無紙記錄儀界面設計


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16385

    瀏覽量

    178377
  • 鍵盤
    +關注

    關注

    4

    文章

    859

    瀏覽量

    39720
  • 液晶顯示器
    +關注

    關注

    11

    文章

    576

    瀏覽量

    43656
收藏 人收藏

    評論

    相關推薦

    彩色記錄儀

    `彩色記錄儀(KZR70系列) 產品簡介:KZR70(彩屏)記錄儀性價比高、操作方便,廣
    發表于 06-17 14:24

    記錄儀解決方案-U盤數據轉存

    記錄儀解決方案-U盤數據轉存  記錄儀采用
    發表于 02-10 14:42

    基于ARM的記錄儀系統設計

    本文討論的是基于AT91RM9200的SR2000/3000型記錄儀的研究開發。這種記錄儀
    發表于 03-18 14:34 ?43次下載

    基于C51和FLASH存儲器卡的記錄儀

    給出一種以帶有看門狗功能的新型單片機 AT89C55WD為核心、插拔式FLASH MEMORY為存儲器的記錄儀的設計與實現;介紹該系統的
    發表于 04-06 10:03 ?37次下載

    基于ARM的記錄儀系統設計

             本文討論的是基于AT91RM9200的SR2000/3000型記錄儀的研究開發。這種
    發表于 09-09 08:29 ?28次下載

    采用C51與插拔式FLASH閃存設計記錄儀

    采用C51與插拔式FLASH閃存設計記錄儀ATMEL公司推出的帶有看門狗功能的單片機AT89C
    發表于 02-08 23:24 ?869次閱讀
    <b class='flag-5'>采用</b><b class='flag-5'>C</b>51與插拔式FLASH閃存設計<b class='flag-5'>無</b><b class='flag-5'>紙</b><b class='flag-5'>記錄儀</b>

    基于嵌入式Linux的記錄儀通信設計

    基于嵌入式Linux的記錄儀通信設計   在工業自動化控制系統中,記錄儀起著十分重要的作用,它可以實時采集、監測和記錄一些影響工藝過程
    發表于 01-13 10:25 ?1693次閱讀
    基于嵌入式Linux的<b class='flag-5'>無</b><b class='flag-5'>紙</b><b class='flag-5'>記錄儀</b>通信設計

    基于SMARTDAC+GP系列便攜式記錄儀

    記錄儀是將采集的數據/運算數據以時間為基軸記錄在儀器內部的存儲系統中,消耗任何常用的記錄
    發表于 09-12 19:21 ?0次下載

    PPM-TC1C21R記錄儀產品說明書

    PPM-TC1C21R記錄儀產品說明書
    發表于 01-19 10:24 ?1次下載

    EIPC3000-L記錄儀使用說明書

    EIPC3000-L 記錄儀記錄儀是用來進行高精度流量測量二次處理的 專用設備,具有強
    發表于 06-08 14:54 ?2次下載
    EIPC3000-L<b class='flag-5'>無</b><b class='flag-5'>紙</b><b class='flag-5'>記錄儀</b>使用說明書

    記錄儀具有哪些功能?

    記錄儀品牌有哪些做的比較好?記錄儀具有哪些功能?
    的頭像 發表于 01-12 17:33 ?1661次閱讀
    <b class='flag-5'>無</b><b class='flag-5'>紙</b><b class='flag-5'>記錄儀</b>具有哪些功能?

    彩色記錄儀大概多少錢?

    彩色記錄儀的服務商數量增長呈現出一種直線式的速度,其應用行業也延伸到農業、工業等智慧物聯網領域。
    的頭像 發表于 01-17 14:25 ?1222次閱讀
    彩色<b class='flag-5'>無</b><b class='flag-5'>紙</b><b class='flag-5'>記錄儀</b>大概多少錢?

    記錄儀的常見故障有哪些?

    使用記錄儀時遇到的常見故障及解決辦法。
    的頭像 發表于 12-13 16:39 ?1475次閱讀
    <b class='flag-5'>無</b><b class='flag-5'>紙</b><b class='flag-5'>記錄儀</b>的常見故障有哪些?

    記錄儀怎么和電腦連接?

    記錄儀怎么和電腦連接呢?
    的頭像 發表于 12-27 16:36 ?2298次閱讀
    <b class='flag-5'>無</b><b class='flag-5'>紙</b><b class='flag-5'>記錄儀</b>怎么和電腦連接?

    記錄儀在熱處理設備中的應用

    記錄儀主要用于特種設備在加工過程中的數據(溫度、真空、壓力等)記錄,是熱處理設備的重要組成部件之一。而記錄儀根據其記錄模式不同主要可分為有
    的頭像 發表于 06-27 16:52 ?673次閱讀
    主站蜘蛛池模板: 久久久久久久网| 乡村教师电影完整版在线观看| 亚洲午夜无码久久久久蜜臀av| 娇喘嗯嗯 轻点啊视频福利| 国产99久久久国产精品成人 | 久久免费大片| av天堂影音先锋在线| 恋夜秀场支持安卓版全部视频国产| 中文字幕在线观看网站| 秋霞电影院午夜伦高清 | 黄色片软件大全| 19十主播福利视频| 久久精品黄色| H狠狠躁死你H| 免费在线亚洲视频| 丁香成人网址| 一品道门在线视频| 日本人娇小hd| 九九热在线视频观看这里只有精品| beeg xxx日本老师| 亚洲精品自在线拍2019| 国产亚洲精品香蕉视频播放| 一本道高清无码v| 日本湿姝在线观看| 久久精品AV无码亚洲色欲| 成人毛片免费观看视频大全| 亚洲欧洲日产国产 最新| 啪啪激情婷婷久久婷婷色五月| 国模玲玲自拍337p| FREEXXX性乌克兰XXX| 亚洲精品97福利在线| 日本xxxx裸体xxxx| 久久免费看视频| 国产偷国产偷亚州清高| yellow日本动漫高清| 曰本xxⅹ孕妇性xxx| 亚瑟天堂久久一区二区影院| 青草在线在线d青草在线| 久久伊人青青| 黑人阴茎插女人图片| 国产WW久久久久久久久久|