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

程序小白
認證:優質創作者
所在專題目錄 查看專題
分享一個基于QP(事件驅動型程序構架)實現的飛行射擊小游戲
【第一篇】單片機程序到底應該怎么寫?
【第二篇】大話單片機軟件構架
【第三篇】嵌入式系統的事件驅動型編程技術第二版(書籍分享)
【第四篇】QP量子編程之入門體驗
【第五篇】從(狀態圖)到(代碼)生成,一切交給軟件QM
作者動態 更多
基于stm32采用PWM驅動伺服控制器學習筆記
3星期前
基于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

【第二篇】大話單片機軟件構架

      開篇我們來一起侃侃曾用過的那些程序構架,其實搞單片機軟件的真沒啥構架可聊的,這是為啥,其實很多老工程師再和同事聊工作的時候也經常會說正在研究程序的構架,其實大部分程序都是順序構架,那有什么好了解的呢,其實這里用構架不太確切,與其說是構架不如說是代碼風格,這個的確是因人而異,五花八門的什么樣的都有,例如有一些比較特殊的,N個.h文件對應一個main.c,其實他在把.h當.c用,把變量函數和函數的定義都扔到.h文件中,雖然這么做不符合我們的常規套路,但是并不影響程序的正確性。如下圖:

   

      還有那種全代碼就一個函數指針,不停地給函數指針賦值,然后調用該函數,這個說實話真的是把函數指針用的出神入化了,這種方式的應用其實應該是中有限狀態機理論的毒太深,曾經我也中過,這種代碼風格只是我們自己用自己的方式實現一種控制思想  ,沒接觸過這種風格的代碼上來可能會有點蒙圈,當然熟悉代碼也需要一定的時間。

      好一點的風格就是模塊化編程,基本一個.h文件對應一個.c文件,然后提供一個接口文件,這種風格看起來更加的好理解一些,也比較符合常規的套路,如下圖:

      但是不論上面的哪一種方法其實最初的目的只是想跳出這個籠子。哪怕初心是拼盡全力想要擺脫那種意大利面條式的編程方式,不想用N層if/else嵌套實現狀態模式控制,最終還是回到了順序式編程的框架,問題的根本在于我們靠一己之力,無法完成系統層部分,因為一個好的框架需要管理我們的代碼,其核心的實現涉及到數據結構,算法等等一系列吃基礎的東西,從零打造一個構架也不是我們的目的,我們的目的只是想要我們的代碼跳出這個框框。

      下面開始介紹我們的豬腳:基于事件驅動型程序構架,這里我們先舉個例子,這個構架都應用在哪些領域,桌面應用程序開發,手機APP開發,Linux驅動應用開發,基本上那些我們或許有點接觸的不屬于我們這領域的項目,都是基于這種程序構架進行開發。

      事件驅動型程序構架的核心:事件,只要舉個例子你就理解了,PC機按下鍵盤、點擊鼠標 都會產生一個事件,在我們的單片機中當你加入RTOS以后,最重要的一個東西叫做系統心跳(systemtick),這個在系統中被稱為一個系統事件,總結一下,有系統的地方就有事件,總結一下:系統的構架也是采用基于事件驅動型程序構架來設計的,雖然我們在單片機上移植了系統,也可以在應用開發中使用事件進行設計,但是我們的應用程序還不能算是一個具備是驅動型程序構架的軟件。

      要打造一個事件驅動型構架我們都需要那些組成部分呢(這里也可以稱為組件):事件、事件處理器(層次性)、對象(應用程序中的基本要素),系統框架(實現對象機制的必備部分)等等,例如QP提供的構架,如下:

      如果大家對事件驅動型編程比較感興趣,推薦大家可以學一下quantunleaps(量子編程)它提供了一個平臺供大家學習,百度輸入一下名稱官方網站就出來了,后面會基于QP來分享一下核心的內容,和大家一起學習。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 10
收藏 11
關注 149
成為作者 賺取收益
全部留言
0/200
  • dy-hBP6LUqp 2020-09-05 14:04
    靈魂畫手
    回復 2條回復
主站蜘蛛池模板: av最新天| av在线天堂观看 | 久久玖玖 | 中文字幕久久波多野结衣AV | 波多野结衣无码视频 | 99精品视频69V精品视频 | 国产区精品福利在线社区 | 国产精品青青青高清在线 | www.51色.com | 色八a级在线观看 | 精品一区二区三区四区蜜桃 | 97久久超碰成人精品网站 | 精品成人一区二区三区四区 | 亚洲精片 | 国产日韩一级片 | 一本一道波多野结衣av黑人 | 日韩精品区一区二区三vr | 久久精品国产亚洲av高那 | 成人免费在线网站 | 国内毛片久久 | 久久久久久中文 | 人人澡超碰碰97碰碰碰 | 国内毛片毛片毛片毛片毛片毛片 | www国产成人免费观看视频深夜成人网 | 色视频网站在线观看 | 精品熟女碰碰人人A久久 | 高清视频一区 | 一二三四日韩 | av第一福利网站 | 免费福利在线观看 | 亚洲欧洲一区二区三区在线 | 欧美日韩一区二区国产 | 国产精品久久久久9999鸭 | 中文一二三区 | 国产一区二区三区网 | 亚洲色成人四虎在线观看 | 亚洲人成激情在线播放国 | 欧美91在线国内日韩 | 91视频免费下 | 91av小视频| 国产久免费热高清视频在线观看 |