chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

嵌入式軟件開發(fā)怎么編程

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:RTThread物聯(lián)網(wǎng)操作 ? 2021-09-03 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式開發(fā),除了掌握基本的編程語法之外,編程的思想也是很關鍵,下面說兩點編程思想。

1分層思想

嵌入式分層思想,可能你不懂,但你肯定見到過很多類似下面這樣的軟件結(jié)構(gòu)圖。

比如,RT-Thread Nano內(nèi)核結(jié)構(gòu):

嵌入式軟件開發(fā)怎么編程

STM32Cube軟件結(jié)構(gòu):

嵌入式軟件開發(fā)怎么編程

這種軟件結(jié)構(gòu)圖,里面的東西可能有點多,可能你看不懂。

但是,只要你仔細一看每個區(qū)域的劃分,你就會發(fā)現(xiàn),它們是把軟件劃分了多個區(qū)域,這里其實就是一種分層的思想。

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

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

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

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

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

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

反之,你代碼很亂,要實現(xiàn)一個業(yè)務邏輯,可能連續(xù)加班多天,最后寫出來的代碼也是bug無數(shù)。

2模塊化

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

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

如果你把所有代碼都寫在main函數(shù),你說能實現(xiàn)嗎?當然,肯定也能實現(xiàn)。

但是,你這樣寫,你的業(yè)務邏輯代碼是不是很廢腦、很費時間?

還有,你后續(xù)加修改按鍵方式、添加功能,你該怎么辦?

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

上面其實也說了:電機驅(qū)動(比如IO時鐘、PWM配置)封裝成一個函數(shù),這其實就是一個小模塊。

當然,這里的驅(qū)動函數(shù)只是一個小模塊,然后還需要進一步封裝成“大模塊”。

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

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

原文標題:嵌入式開發(fā)中的兩點編程思想

文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
責任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 無線通信
    +關注

    關注

    58

    文章

    4755

    瀏覽量

    145220
  • 電機驅(qū)動

    關注

    60

    文章

    1311

    瀏覽量

    87841
  • 嵌入式軟件
    +關注

    關注

    4

    文章

    245

    瀏覽量

    27341
  • RT-Thread
    +關注

    關注

    32

    文章

    1409

    瀏覽量

    41966

原文標題:嵌入式開發(fā)中的兩點編程思想

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式軟件開發(fā)需要學習什么?

    嵌入式軟件開發(fā)需要學習什么? 嵌入式軟件開發(fā),一個發(fā)展迅速的行業(yè),不少學者入門的第一個問題肯定是嵌入式
    發(fā)表于 01-31 14:45

    嵌入式軟件開發(fā)是做什么的

    /QNX+ARM匯編;  (5)GUI:VC++/VC#/LABVIEW;  上面是大致,下面就是重頭戲了,嵌入式軟件開發(fā)編程對于一個嵌入式軟件
    發(fā)表于 06-28 11:31

    嵌入式軟件開發(fā)與非嵌入式軟件開發(fā)的區(qū)別?

    嵌入式軟件開發(fā)與非嵌入式軟件開發(fā)區(qū)別?設備驅(qū)動開發(fā)與裸機驅(qū)動開發(fā)區(qū)別?
    發(fā)表于 04-02 06:29

    想知道嵌入式軟件開發(fā)編程學的是什么??

      想知道嵌入式軟件開發(fā)編程學的是什么?我們得先知道什么是嵌入式開發(fā),今天就來整理整理嵌入式工程師培訓技能。  一般來說它負責上層應用
    發(fā)表于 11-08 08:15

    嵌入式軟件開發(fā)是做什么的?

    :Linux/QNX+ARM匯編; (5)GUI:VC++/VC#/LABVIEW; 上面是大致,下面就是重頭戲了,嵌入式軟件開發(fā)編程對于一個嵌入式
    發(fā)表于 12-15 16:39

    什么是嵌入式軟件開發(fā)

    嵌入式軟件開發(fā)又是指什么?   隨著嵌入式軟件系統(tǒng)結(jié)構(gòu)越來越復雜,嵌入式軟件
    發(fā)表于 04-20 08:43 ?8980次閱讀

    嵌入式軟件開發(fā)與Embedded-GIS

    1.嵌入式軟件開發(fā) 市場現(xiàn)狀 嵌入式操作系統(tǒng) 嵌入式軟件開發(fā)特點 嵌入式
    發(fā)表于 02-28 10:39 ?36次下載

    ARM嵌入式軟件開發(fā)

    ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)ARM嵌入式軟件開發(fā)
    發(fā)表于 01-15 17:29 ?65次下載

    嵌入式軟件開發(fā)的優(yōu)勢分析

    為什么當今嵌入式行業(yè)會如此受歡迎呢?我們從事嵌入式軟件開發(fā)有什么好處嗎?小編就來說說我的看法吧,嵌入式軟件開發(fā)的優(yōu)勢我們可以從幾點來看。
    的頭像 發(fā)表于 12-21 15:23 ?5515次閱讀

    嵌入式軟件開發(fā)編程規(guī)范及原則

    編程規(guī)范也就是編寫出簡潔、可維護、可靠、可測試、高效、可移植的代碼,提高產(chǎn)品代碼的質(zhì)量。本文針對嵌入式,主要結(jié)合C語言編程的規(guī)范給大家講述。
    的頭像 發(fā)表于 10-05 10:02 ?7089次閱讀

    嵌入式軟件開發(fā)編程規(guī)范介紹

    對于嵌入式系統(tǒng)來講,嵌入式軟件相當于嵌入式系統(tǒng)的靈魂,整個嵌入式系統(tǒng)如何工作,都是由嵌入式
    的頭像 發(fā)表于 01-01 09:28 ?4670次閱讀

    嵌入式工程師培訓技能 嵌入式開發(fā)學什么?

      想知道嵌入式軟件開發(fā)編程學的是什么?我們得先知道什么是嵌入式開發(fā),今天就來整理整理嵌入式工程師培訓技能。  一般來說它負責上層應用
    發(fā)表于 11-02 20:51 ?13次下載
    <b class='flag-5'>嵌入式</b>工程師培訓技能  <b class='flag-5'>嵌入式開發(fā)</b>學什么?

    嵌入式軟件開發(fā)----編程思想

    被斷電。(2)在編程中,如果用到經(jīng)常需要被修改的定值時,需要用宏定義,即為了方便修改,也為了方便他人閱讀。(3)在需要成塊狀存儲不同類型的數(shù)據(jù)時,struct是個非常好的選擇。(4)所有的配...
    發(fā)表于 11-03 09:06 ?14次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>----<b class='flag-5'>編程</b>思想

    嵌入式軟件開發(fā)做什么?嵌入式開發(fā)培訓學哪些

    嵌入式行業(yè)可以說從幕后走到前臺,大家對他都很熟悉了,我國嵌入式人才缺口每年在50萬左右,相關調(diào)查報告稱嵌入式軟件開發(fā)是未來幾年最熱門和最受歡迎的職業(yè)之一。但是還有很多人不知道
    發(fā)表于 11-03 10:36 ?19次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>軟件開發(fā)</b>做什么?<b class='flag-5'>嵌入式開發(fā)</b>培訓學哪些

    嵌入式軟件開發(fā)軟件開發(fā)的區(qū)別

    嵌入式軟件開發(fā)軟件開發(fā)是兩個不同的概念,它們在一些關鍵方面有著明顯的區(qū)別。嵌入式軟件開發(fā)是指開發(fā)
    的頭像 發(fā)表于 01-22 15:27 ?3015次閱讀