在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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(速度,方向)。這就是一個大模塊(當然,還可以結合需求再進一步封裝)。

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

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

    關注

    6040

    文章

    44594

    瀏覽量

    636923
  • 無線通信
    +關注

    關注

    58

    文章

    4589

    瀏覽量

    143688
  • 電機驅動
    +關注

    關注

    60

    文章

    1219

    瀏覽量

    86839

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

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

收藏 人收藏

    評論

    相關推薦

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

    初學單片機必要單片機學習板嗎?如果需要的話,請推薦?要求功能強大,附帶資料齊全,適合初學者,學完以后還有使用價值。如可以學別的單片機?;?/div>
    發表于 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 ?1450次閱讀
    主站蜘蛛池模板: ts视频在线观看 | 激情5月婷婷 | 宅男噜噜噜66 | 成人爽爽激情在线观看 | 日本网站黄色 | 九九九精品午夜在线观看 | 无遮挡一级毛片视频 | 天堂影院在线 | 色欧美在线视频 | 国产精品手机在线 | 国模谢心2013.05.06私拍 | 亚洲成色www久久网站 | 天堂网www中文在线 天堂网传媒 | 俺去插 | 男女爱爱爽爽福利免费视频 | 欧美成人免费大片888 | 天堂网一区 | 黄色日比 | 亚1州区2区三区4区产品 | 中文字幕一二三区乱码老 | 日本黄色免费一级片 | 女人张开腿等男人桶免费视频 | 免费网站你懂得 | 日日做夜夜爽夜夜爽 | 国产亚洲3p无码一区二区 | 直接黄91麻豆网站 | 六月婷婷网视频在线观看 | 国产亚洲婷婷香蕉久久精品 | 欧美3区| 欧美一级在线观看 | 天天综合色天天综合网 | 美女一级a毛片免费观看 | 黄色aaaa | 91精品久久久久含羞草 | 欧美性猛交xxxx | 欧美人与动性视频在线观 | 性性欧美| 奇米久草| 黄色视网站 | 亚洲国产精品va在线观看麻豆 | 天天干天天做 |