99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

程序小白
認證:優質創作者
所在專題目錄 查看專題
【第二章】HSM層次式狀態機理論(進階版)
【第三章】有限狀態機(FSM)之炸彈項目(實戰1)
【第四章】有限狀態機(FSM)之炸彈項目(實戰2)
【第五章】有限狀態機(FSM)之炸彈項目(實戰3)
【第六章】層次式狀態機HSM = 有限狀態機FSM + 面向對象
【第七章】如何創建基于HSM狀態機的應用
作者動態 更多
基于stm32采用PWM驅動伺服控制器學習筆記
05-13 15:25
基于STM32驅動TM1638學習筆記——軟件篇
04-19 12:42
基于TM1638驅動8位數碼管設計分享
02-24 11:26
RT-Thread驅動之路: Studio創建FAL分區⑤
01-02 08:30
RT-Thread驅動之路: Studio 掛載通用SPI flash④
2024-12-23 13:41

【第七章】如何創建基于HSM狀態機的應用

      如何創建一個狀態機的應用程序,是比較簡單的,如果把你的應用程序改造成狀態機是比較困難的,換個說法,如何把應用程序優雅的用狀態機實現,這有點考驗你對項目需求和狀態機兩方面的理解能力。這一篇我們只講把一個簡單的應用編程一個狀態機應用程序。

      第一步,就是枚舉信號,也就是整個狀態機應用里面用到的所有信號都枚舉出來。如下:

     

      注意下,第一個信號A_SIG 的默認值是Q_USER_SIG,也就是說他是第一個Q_USER_SIG信號,而狀態機本身是有幾個被默認信號的,Q_ENTRY_SIG/Q_EXIT_SIG/Q_INIT_SIG,這幾個默認的信號已經在QEP處理器中被事先定義好了:

      第二步,定義事件類型,QEP有默認的事件類型,叫QEvt,他只提供一個最簡單的類型,或者說是事件處理器需要的類型,實際應用中你可能需要一個事件帶有其它的參數,這時候你需要繼承QEP的默認事件來創建你的事件類型。這兩種情況給出官方定義的兩種事件類型的例子如下:

      第三步、派生狀態機類型,這個詞在C++中用來還是比較合適,針對C來講,我們暫且稱之為定義狀態機類型。

      第四步、聲明狀態處理函數。

      第五步、實例化一個特定狀態機對象、以及實例化一個通用狀態機全局指針。

      第六步、構造狀態機、類似于C++中的構造函數。

      第七步、定義狀態處理函數。

      到這里應該沒有遺漏的了,關于狀態機相關的內容編碼就完畢了,下面就是要真正的讓狀態機跑起來,你需要在main函數中進行一些操作,讓這個狀態機真正的運行起來,針對事件驅動型系統來講,狀態機本身是被動的,他不會主動進行任何操作,他需要事件處理器進行分發事件,然后根據分發的事件觸發狀態處理或轉換。

      關于如何讓狀態機運行起來,我們需要在main函數中進行一下操作,還是拿這個例程為模板進行說明吧。

      第一步、顯式調用ctor函數,構造狀態機。

      第二步、顯式調用init函數,初始化狀態機。

      第三步、采集輸入信號、構造事件對象、調用事件處理器,將相應的事件發送給狀態機。

以上步驟就完成了一個單一狀態機的編碼及應用。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 7
收藏 8
關注 151
成為作者 賺取收益
全部留言
0/200
  • RTX51 2021-07-14 20:41
    您好,請發一下狀態機專題的源碼,謝謝 517016995@qq.com
    回復 3條回復
主站蜘蛛池模板: 久久久久成人免费 | 国产aⅴ夜夜欢一区二区三区 | 无码专区—va亚洲v专区 | 嘿咻嘿咻免费区在线观看 | 孩交bbwxxxx| 亚洲综合久久一本伊一区 | 国产日本在线视频 | 欧美精品成人在线 | 成人天堂 | 在线观看免费观看av | 91国在线高清视频 | 性XXXXXX中国寡妇mm | 玖玖精品 | 精品国产一区二区三区色欲 | 99ri国产精品 | 蜜臀精品国产高清在线观看 | 成人午夜精品在线 | 欧美人与ZOXXXX乱叫 | 成人vagaa免费观看视频 | 国模av在线 | 综合成人亚洲偷自拍色 | 国产99视频精品免费观看6 | 国产又色又爽又刺激在线观看 | 四虎亚洲精品私库AV在线 | 午夜精品成人 | 少妇小莹的yin荡生活下视频 | 久久综合狠狠综合 | chinese裸体男野外gay | 日本字幕在线观看 | 亚洲日韩一区精品射精 | 日本黄色一级片免费看 | 最新国产一区二区 | 2020久久超碰国产精品最新 | 男男av纯肉无码免费播放无码 | 55夜色66夜色国产精品视频 | 久久AV老司机精品网站导航 | 亚洲三级黄色片 | 邻居少妇张开腿让我爽了在线观看 | 日韩爱爱小视频 | 男人被口爽还是啪啪爽 | baoyu123成人免费看视频 |