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

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

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

3天內不再提示

單片機項目有必要分層設計嗎?

Dp1040 ? 來源:嵌入式專欄 ? 2023-09-23 09:31 ? 次閱讀

有網友問:單片機小項目,有必要做分層設計嗎?

這個問題,主要看項目本身,以及公司管理。小項目,是有多小?公司對項目的管理是否看重?

正規一點的公司,從長遠的角度來說,很有必要做好軟件分層設計。下面就簡單說兩點編程分層的思想。

分層思想

嵌入式分層思想,可能初學者不太懂,但你肯定見到過很多類似下面這樣的軟件結構圖。

比如,RT-Thread Nano內核結構:

ed682100-59a8-11ee-939d-92fbcf53809c.png

STM32Cube軟件結構:

ed773b40-59a8-11ee-939d-92fbcf53809c.png

這種軟件結構圖,里面的東西可能有點多,可能你也看不懂。 但是,只要你仔細一看每個區域的劃分,你就會發現,它們是把軟件劃分了多個區域,這里其實就是一種分層的思想。

舉一個例子:一個遙控器控制一個小車運動,包含遙控器的按鍵(比如:前后左右),無線通信(比如:433),小車無線接收,電機驅動、電機控制算法等。

遇到這種嵌入式軟件開發,你會怎么編程?

1.底層驅動層小車部分:電機驅動(比如IO時鐘、PWM配置)封裝成一個函數、433驅動封裝成一個函數。然后把這兩個函數整理在一個Driver(驅動)函數。

遙控部分同理:按鍵驅動(比如IO時鐘、配置)封裝成一個函數、433驅動封裝成一個函數。

2.中間層這里比如你電機用到了加減速、左右轉向的一些算法,封裝成對應Middleware中間層模塊函數(待應用層調用)。

3.應用層應用層就考驗你業務邏輯的一層,也是整合軟件資源的一層。如果你代碼層次畫分的話,業務邏輯代碼就很容易。

反之,你代碼很亂,要實現一個業務邏輯,可能連續加班多天,最后寫出來的代碼也是bug無數。

模塊化

嵌入式編程,模塊化相當重要,可以說,它會影響你代碼質量、加班多少、甚至升職加薪。

還是上面那個例子:一個遙控器控制一個小車運動,包含遙控器的按鍵(比如:前后左右),無線通信(比如:433),小車無線接收,電機驅動、電機控制算法等。

如果你把所有代碼都寫在main函數,你說能實現嗎?當然,肯定也能實現。 但是,你這樣寫,你的業務邏輯代碼是不是很廢腦、很費時間? 還有,你后續加修改按鍵方式、添加功能,你該怎么辦?

所以,你需要模塊化編程,把一些小模塊分別封裝成函數,提供給對應的應用層調用。

上面其實也說了:電機驅動(比如IO時鐘、PWM配置)封裝成一個函數,這其實就是一個小模塊。 當然,這里的驅動函數只是一個小模塊,然后還需要進一步封裝成“大模塊”。

比如:我這里還引入一個編碼器,閉環檢測電機速度,通過底層電機驅動、加減速算法,編碼器等整合成一個電機運動的函數(模塊):MOTOR_Ctrl(速度,方向)。這就是一個大模塊(當然,還可以結合需求再進一步封裝)。

最后,還有很多重要的編程思想,需要開發者了解并掌握,在一定程度上,你的編程思想決定了你是新手級別,還是大神級別。

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

    關注

    6050

    文章

    44687

    瀏覽量

    641186
  • 無線通信
    +關注

    關注

    58

    文章

    4637

    瀏覽量

    144279
  • 電機驅動
    +關注

    關注

    60

    文章

    1244

    瀏覽量

    87127

原文標題:單片機項目有必要分層設計嗎?

文章出處:【微信號:玩點嵌入式,微信公眾號:玩點嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    初學單片機必要單片機學習板嗎?

    初學單片機必要單片機學習板嗎?如果需要的話,請推薦?要求功能強大,附帶資料齊全,適合初學者,學完以后還有使用價值。如可以學別的單片機。回
    發表于 11-09 14:23

    淺談單片機程序設計中的“分層思想”

    本帖最后由 ke_c 于 2013-8-1 10:41 編輯 淺談單片機程序設計中的“分層思想”分層的思想,并不是什么神秘的東西,事實上很多做項目的工程師本身自己也會在用。看了不
    發表于 08-01 10:38

    學習單片機真的必要學習匯編

    學習單片機真的必要學習匯編,從51單片機匯編語言開始學習,這是入門級的。網上好多都是C語言方面的資料,有的人說沒必要學匯編,直接學習C語言
    發表于 08-18 07:57

    單片機程序設計中的“分層思想”是什么意思?

    單片機程序設計中的“分層思想”
    發表于 02-22 07:18

    單片機分層屏蔽的設計思想

    單片機分層屏蔽的設計思想
    發表于 02-26 06:19

    單片機項目失敗的原因哪些?

    單片機項目失敗的原因哪些?
    發表于 04-19 07:33

    MCU級軟件必要分層

    一、MCU級軟件必要分層嗎?1.1 如果不分層會怎樣?看下面這段示例代碼void main(){sys_init()while(1){ //用PA1控制LED亮滅GPIO_SetBi
    發表于 11-03 08:57

    單片機晶振的必要性_單片機晶振的作用_單片機晶振電路原理(51單片機

    本文首先介紹了單片機晶振的必要性,其次介紹了單片機的作用和原理,最后闡述了單片機晶振的常見問題。
    的頭像 發表于 04-18 11:49 ?7.4w次閱讀

    51單片機和STM32單片機哪些區別

    大部分朋友可能都知道51單片機和stm32單片機也知道一般入門會先學習51單片機在學習stm32單片機會簡單一些,但是對于51單片機和stm
    發表于 08-13 17:32 ?17次下載
    51<b class='flag-5'>單片機</b>和STM32<b class='flag-5'>單片機</b><b class='flag-5'>有</b>哪些區別

    單片機程序應用、驅動分層獨立開發方案

    單片機程序應用、驅動分層獨立開發方案
    發表于 11-13 12:36 ?19次下載
    <b class='flag-5'>單片機</b>程序應用、驅動<b class='flag-5'>分層</b>獨立開發方案

    51單片機仿真設計項目大全

    51單片機仿真設計項目大全!
    發表于 11-23 16:51 ?119次下載
    51<b class='flag-5'>單片機</b>仿真設計<b class='flag-5'>項目</b>大全

    基于proteus學習51單片機項目資料

    為了調試51單片機的代碼,做了一些仿真,之前打算好好寫寫技術文章的,后來覺得CSDN關于51單片機基本的模塊都介紹很詳細,就沒必要再寫了,后面要基本搞stm32實戰的項目了,將自己調過
    發表于 11-23 16:51 ?3次下載
    基于proteus學習51<b class='flag-5'>單片機</b>的<b class='flag-5'>項目</b>資料

    ARM單片機和STM32單片機之間什么區別

    單片機工程師在進行項目開發的時候,經常需要進行單片機選型,根據項目功能需求選擇合適的單片,這就要求對每種
    的頭像 發表于 01-07 13:59 ?1.1w次閱讀

    單片機實驗項目分享

    單片機實驗項目分享
    發表于 02-20 16:22 ?33次下載

    單片機最小系統能夠運行起來的必要條件

    單片機最小系統能夠運行起來的必要條件: 一、硬件方面的必要條件 單片機芯片:單片機最小系統需要選擇一款適合
    的頭像 發表于 01-15 09:34 ?1587次閱讀
    主站蜘蛛池模板: 亚洲人成人毛片无遮挡 | 美女的避毛 | proburn中文破解版下载 | 国产精品久久人妻无码网站一区无 | 俄罗斯人xxx | 久久免费看少妇高潮A片2012 | 不卡一区二区高清观看视频 | 亚洲国产精品一区二区动图 | 色悠久久久久综合欧美99 | 久久精品九九亚洲精品天堂 | 伊人久久青青草 | 色噜噜色啪在线视频 | 欧美性黑吊xxx| 亚洲欧美一区二区三区久久 | 野草观看免费高清视频 | 在线观看日本免费 | 欧美午夜a级精美理论片 | 回复术士勇者免费观看全集 | 亚洲免费每日在线观看 | 在线中文高清资源免费观看 | tobu中国日本高清 | 在线不卡日本v二区到六区 在线不卡日本v二区 | 色裕插插插影视 | 欧洲兽交另类AVXXX | 久久亚洲精品中文字幕 | 亚洲看片无码免费视频 | 国产精品在线手机视频 | 国产三级在线免费 | 漂亮妈妈中文字幕版 | 97无码人妻精品1国产精东影业 | 日韩欧美一区二区三区免费看 | 毛片免费观看 | 公和我做好爽添厨房中文字幕 | 国产人妻777人伦精品HD | 国产在线视频一区二区不卡 | 免费观看成人www精品视频在线 | 中文日韩亚洲欧美字幕 | 99热这里只有精品 | 亚洲精品福利在线 | 男女啪啪抽搐呻吟高潮动态图 | jjzz大全|