• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種消息驅動人機界面的方法技術

    技術編號:8593666 閱讀:248 留言:0更新日期:2013-04-18 06:47
    本發明專利技術涉及一種消息驅動人機界面的方法,包括以下步驟:1)按鍵消息輸入;2)按鍵消息捕獲;3)將捕獲的按鍵消息壓入消息隊列;4)將消息隊列中最早的按鍵消息移出隊列;5)判斷移出的按鍵消息是否已注冊,若為是,執行步驟6),若為否,執行空操作;6)執行被注冊的事件;7)運行事件對應程序。與現有技術相比,本發明專利技術具有提高了響應速度、增強了實時性等優點。

    【技術實現步驟摘要】

    本專利技術涉及一種人機界面的相關技術,尤其是涉及。
    技術介紹
    工業產品中經常會用到人機交互的操作,比如SMT(貼片機),流水線控制等大型設配的人機交互的控制通常采用工控計算機或者采用內部載入復雜操作系統的單片機來完成的。但是小型工業產品(比如電力儀表等終端設備)受到現場應用環境、成本、可靠性、運行實時性等條件的限制,無法也沒有必要使用諸如winCE、Linux、vxworks等復雜的操作系統。如圖1所示,現有單片機編寫人機交互程序往往采用代碼驅動的方式來完成,這種方法的實現包括預先規劃所有的界面建立相應表格,再用分支語句或跳轉語句來實現程序界面的跳轉;當客戶要求增加、減少、調整界面時表格要重新設計,工作量大而繁瑣,尤其當界面很多的時候,出錯概率大,大大增加了維護難度。
    技術實現思路
    本專利技術的目的就是為了克服上述現有技術存在的缺陷而提供一種提高了響應速度、增強了實時性的消息驅動人機界面的方法。本專利技術的目的可以通過以下技術方案來實現,其特征在于,包括以下步驟I)按鍵消息輸入;2)按鍵消息捕獲;3)將捕獲的按鍵消息壓入消息隊列;4)將消息隊列中最早的按鍵消息移出隊列;5)判斷移出的按鍵消息是否已注冊,若為是,執行步驟6),若為否,執行空操作;6)執行被注冊的事件;7)運行事件對應程序。所述的步驟I)按鍵消息輸入具體為按鍵產生信號,通過中斷或掃描方式,將按鍵信號轉換成按鍵消息,其中每個按鍵有其獨立的狀態標志位,即每個按鍵的動作與各自的按鍵消息產生是一一對應的。所述的步驟2)按鍵消息捕獲具體為21)根據按鍵的注冊類型和當前的按鍵消息,由按鍵信息捕獲函數判斷本次按鍵消息是否有效,若為是,執行步驟22),若為否,執行空任務;22)并判斷是單次有效還是連續有效,若為單次有效,則表示按鍵按下時,只產生一條與按鍵消息對應的有效信息,若為連續有效,產生多條與按鍵消息對應的有效信息。所述的步驟21)中的注冊類型包括去抖、上升沿觸發、下降沿觸發、單次有效、連續有效。所述的步驟3)將捕獲的按鍵消息壓入消息隊列具體為31)判斷消息對應的狀態是否已滿,若為否,執行步驟32),若為是執行步驟33);32)將捕獲的按鍵消息壓入消息隊列中;33)放棄本次捕獲的按鍵消息。所述的事件的注冊為當前界面程序中先注冊該界面下有效的按鍵事件。與現有技術相比,本專利技術具有以下優點I)運用這個簡化的消息機制簡化了單片機界面程序的編寫,提高了響應速度,增強了實時性,這對嵌入式開發是最重要的。2)類似的簡單消息運行機制可以方便的移植到其他微控制器項目上去,有廣泛的應用前景。附圖說明圖1為現有的人機界面開發流程圖2為本專利技術的流程圖3為本專利技術的按鍵與按鍵消息一一對應圖4為本專利技術的按鍵消息捕獲的流程圖5為本專利技術的將捕獲的按鍵消息壓入消息隊列的流程圖6為本專利技術的消息對應的結構示意圖。具體實施方式下面結合附圖和具體實施例對本專利技術進行詳細說明。實施例如圖2所示,,包括以下步驟步驟101、按鍵消息輸入;步驟102、按鍵消息捕獲;步驟103、將捕獲的按鍵消息壓入消息隊列;步驟104、將消息隊列中最早的按鍵消息移出隊列;步驟105、判斷移出的按鍵消息是否已注冊,若為是,執行步驟106,若為否,執行空操作;步驟106、執行被注冊的事件;步驟107、運行事件對應程序。所述的按鍵消息輸入具體為由按鍵產生信號,用中斷或掃描的方式,將按鍵信號轉換成按鍵消息。當外部物理按鍵被按下時,用相應的標志記錄按鍵的狀態,每個按鍵有其獨立的狀態標志位,為了提高按鍵消息的可靠性,不復用狀態標記。 按鍵消息輸入,只對按鍵的當前狀態作如實的記錄,每個按鍵的動作與各自的消息產生是一一對應的,具體見圖3。如圖4所示,按鍵消息捕獲具體為21)根據按鍵的注冊類型和當前的按鍵消息,由按鍵信息捕獲函數判斷本次按鍵消息是否有效,若為是,執行步驟22),若為否,執行空任務;22)并判斷是單次有效還是連續有效,若為單次有效,則表示按鍵按下時,只產生一條與按鍵消息對應的有效信息,若為連續有效,產生多條與按鍵消息對應的有效信息。所述的步驟21)中的注冊類型包括去抖、上升沿觸發、下降沿觸發、單次有效、連續有效。如圖5所示,將捕獲的按鍵消息壓入消息隊列具體為31)判斷消息對應的狀態是否已滿,若為否,執行步驟32),若為是執行步驟33);32)將捕獲的按 鍵消息壓入消息隊列中;33)放棄本次捕獲的按鍵消息。其中消息隊列結構如圖6所示。按鍵消息處理將消息隊列中最早的消息移出隊列,如果此消息已被注冊,則執行被注冊的事件,否則執行空操作。按鍵注冊事件應用初始化界面用戶初始化自己的界面程序。用戶程序進入界面程序前要做的初始化工作,這與本專利沒有直接的關系,但作為一個完整的程序是不可缺少的一部分。事件注冊在當前界面程序中先注冊該界面下有效的按鍵事件(比如按鍵I的事件,按鍵2的事件.……按鍵N的事件),在此界面上無效的按鍵操作不要注冊,若被誤操作消息處理機制會執行空操作),這樣可以確保按鍵在各個不同界面的有效性,減少程序員按鍵處理操作中的工作量,提高程序的可靠性。運行內容運行客戶編寫的界面程序,這是個死循環程序,防止程序退出。這與windows窗體程序的機理是類似的。事件處理事件處理程序是用戶編寫的要運行的用戶處理程序(比如,退出本界面進入其他界面)。這和VC++編寫事件程序是一樣的。同時這也很類似單片機程序中的中斷服務子程序。本文檔來自技高網...

    【技術保護點】
    一種消息驅動人機界面的方法,其特征在于,包括以下步驟:1)按鍵消息輸入;2)按鍵消息捕獲;3)將捕獲的按鍵消息壓入消息隊列;4)將消息隊列中最早的按鍵消息移出隊列;5)判斷移出的按鍵消息是否已注冊,若為是,執行步驟6),若為否,執行空操作;6)執行被注冊的事件;7)運行事件對應程序。

    【技術特征摘要】
    1.一種消息驅動人機界面的方法,其特征在于,包括以下步驟1)按鍵消息輸入;2)按鍵消息捕獲;3)將捕獲的按鍵消息壓入消息隊列;4)將消息隊列中最早的按鍵消息移出隊列;5)判斷移出的按鍵消息是否已注冊,若為是,執行步驟6),若為否,執行空操作;6)執行被注冊的事件;7)運行事件對應程序。2.根據權利要求1所述的一種消息驅動人機界面的方法,其特征在于,所述的步驟I)按鍵消息輸入具體為按鍵產生信號,通過中斷或掃描方式,將按鍵信號轉換成按鍵消息,其中每個按鍵有其獨立的狀態標志位,即每個按鍵的動作與各自的按鍵消息產生是一一對應的。3.根據權利要求1所述的一種消息驅動人機界面的方法,其特征在于,所述的步驟2)按鍵消息捕獲具體為21)根據按鍵的注冊類型和當前的按鍵消息,由按鍵信息捕獲函數判斷本次按鍵消息是否有效,若為是,執...

    【專利技術屬性】
    技術研發人員:季曉春左凌俊蔡守平朱海霞
    申請(專利權)人:上海安科瑞電氣股份有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久亚洲精品无码观看不卡| 久久亚洲AV成人无码国产最大| HEYZO无码综合国产精品| h无码动漫在线观看| 亚洲国产精品无码成人片久久| 人禽无码视频在线观看| 粉嫩高中生无码视频在线观看| 久久久久久AV无码免费网站 | 亚洲AV无码一区二区三区系列 | 精品久久久久久中文字幕无码| 超清无码一区二区三区| 日韩放荡少妇无码视频| 午夜无码伦费影视在线观看| 永久免费av无码网站大全| 老子午夜精品无码| 国产av无码专区亚洲av桃花庵| 精品无码成人片一区二区| 中文字幕精品三区无码亚洲| 亚洲精品午夜无码电影网| 国产丝袜无码一区二区视频| 亚洲中文字幕久久精品无码A| 亚洲2022国产成人精品无码区| 久久精品无码专区免费| 亚洲成?Ⅴ人在线观看无码| 无码日韩精品一区二区免费| 精品欧洲AV无码一区二区男男| 色AV永久无码影院AV| 无码少妇一区二区三区浪潮AV| 国产成人无码区免费内射一片色欲| 国产精品无码久久av不卡| 精品无码专区亚洲| 激情无码人妻又粗又大| 亚洲毛片av日韩av无码| 久久久久亚洲AV无码专区网站| 国产成人无码免费视频97| 国产精品亚洲αv天堂无码| 在线播放无码高潮的视频| 无码精品人妻一区二区三区漫画| 久久久亚洲精品无码| 99久久人妻无码精品系列蜜桃| 久久亚洲AV无码精品色午夜|