嵌入式開發,除了掌握基本的編程語法之外,編程的思想也是很關鍵,下面說兩點編程思想。
1分層思想
嵌入式分層思想,可能你不懂,但你肯定見到過很多類似下面這樣的軟件結構圖。
比如,RT-Thread Nano內核結構:
STM32Cube軟件結構:
這種軟件結構圖,里面的東西可能有點多,可能你看不懂。
但是,只要你仔細一看每個區域的劃分,你就會發現,它們是把軟件劃分了多個區域,這里其實就是一種分層的思想。
舉一個例子:一個遙控器控制一個小車運動,包含遙控器的按鍵(比如:前后左右),無線通信(比如:433),小車無線接收,電機驅動、電機驅動算法等。
遇到這種嵌入式軟件開發,你會怎么編程?
1.底層驅動層小車部分:電機驅動(比如IO時鐘、PWM配置)封裝成一個函數、433驅動封裝成一個函數。然后把這兩個函數整理在一個Driver(驅動)函數。
遙控部分同理:按鍵驅動(比如IO時鐘、配置)封裝成一個函數、433驅動封裝成一個函數。
2.中間層這里比如你電機用到了加減速、左右轉向的一些算法,封裝成對應Middleware中間層模塊函數(待應用層調用)。
3.應用層應用層就考驗你業務邏輯的一層,也是整個軟件資源的一層。如果你代碼層次畫分的話,業務邏輯代碼就很容易。
反之,你代碼很亂,要實現一個業務邏輯,可能連續加班多天,最后寫出來的代碼也是bug無數。
2模塊化
嵌入式編程,模塊化相當重要,可以說,它會影響你代碼質量、加班多少、甚至升職加薪。
還是上面那個例子:一個遙控器控制一個小車運動,包含遙控器的按鍵(比如:前后左右),無線通信(比如:433),小車無線接收,電機驅動、電機驅動算法等。
如果你把所有代碼都寫在main函數,你說能實現嗎?當然,肯定也能實現。
但是,你這樣寫,你的業務邏輯代碼是不是很廢腦、很費時間?
還有,你后續加修改按鍵方式、添加功能,你該怎么辦?
所以,你需要模塊化編程,把一些小模塊分別封裝成函數,提供給對應的應用層調用。
上面其實也說了:電機驅動(比如IO時鐘、PWM配置)封裝成一個函數,這其實就是一個小模塊。
當然,這里的驅動函數只是一個小模塊,然后還需要進一步封裝成“大模塊”。
比如:我這里還引入一個編碼器,閉環檢測電機速度,通過底層電機驅動、加減速算法,編碼器等整合成一個電機運動的函數(模塊):MOTOR_Ctrl(速度,方向)。這就是一個大模塊(當然,還可以結合需求再進一步封裝)。
最后,還有很多重要的編程思想,需要開發者了解并掌握,在一定程度上,你的編程思想決定了你是新手級別,還是大神級別。
原文標題:嵌入式開發中的兩點編程思想
-
無線通信
+關注
關注
58文章
4705瀏覽量
144849 -
電機驅動
+關注
關注
60文章
1292瀏覽量
87533 -
嵌入式軟件
+關注
關注
4文章
245瀏覽量
27161 -
RT-Thread
+關注
關注
32文章
1368瀏覽量
41500
原文標題:嵌入式開發中的兩點編程思想
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
想知道嵌入式軟件開發編程學的是什么??
嵌入式軟件開發是做什么的?
嵌入式軟件開發的優勢分析
嵌入式軟件開發編程規范及原則
嵌入式工程師培訓技能 嵌入式開發學什么?

嵌入式軟件開發----編程思想

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

評論