兩個可以說都是行業標桿。
不能說哪個比哪個更好,各有特色,適合自己就是最好的,同行之間都是相互參考去做的。
我從以下幾個維度來對比下:
1.教程
2.代碼
3.開發板價格
4.進階
一、教程
兩家教程都是完全開源的,大家對野火的教程好評比較多,開始幾章由淺到深講解的很好。
有些c基礎不是很好的人也能跟上,能理解STM32的外設使用底層也是從寄存器配置進行代碼二次封裝來的。
后面一些章節似乎換了老師,講解的更加偏向實際項目,站在初學者的角度,或許聽起來有點費勁,但死磕也能學到不少東西。
正點原子的話正好相反,剛開始的幾個章節可能對新手不是很友好,反而后半段更適合初學者。
對于初學者來說,其實不需要講的多深入,最重要是能讓你理解。
二、代碼風格
野火的代碼宏定義多,雖然初學者覺得很繞,不直觀、但更加嚴謹,一般在實際項目開發的時候這種做法有利于程序可擴展性和可移植性。
我看網友噴的最多的就是正點的代碼,代碼風格不太適合作為實際項目的參考。
我覺得,不管怎么樣,還是那句話:能讓你理解才最重要,不要過河拆橋了。
大家定位都是不一樣的,既然你是初學者,又是剛入門STM32。
就不要去管什么代碼風格,程序架構的東西了,能把功能實現就不錯了。
第一步你得把功能試下吧,實現過程中肯定會踩坑,然后再去想為什么?怎么優化?
你只有經歷了這個過程,你對好的代碼理解的才更透徹,否則你的理解永遠只停留在表面。
就好比,你以為用了指針程序就很專業,實際上根本沒解決什么痛點,強行裝逼而已。
三、開發板價格
開發板價格作為最后的考量,也是有原因的。
兩家價格相差不大,整體來說原子的開發板質量比野火好些。
質量好壞,并不是最核心的問題,反正肯定能正常用起來,只是質感好壞而已。
現在我的開發板都在某個角落吃灰,一般做實驗的時候用一下,用完就丟一邊了。
四、進階
通過開發板,基本就能順利突破新手期,剩下的就是進階,就是達到獨立完成功能的水平。
不要指望開發板能讓你的水平有質的飛躍,開發板的目的是讓你學會單片機外設的使用,僅此而已。
學會外設,不代表你就會做項目了,因為還缺兩種能力:
1.項目思維
也就是給你一個功能需求,它會用到單片機什么外設?數據如何采集?或者用什么信號去控制?邏輯功能怎么用程序去實現它?
2.編程水平
等你有了思路,你還得有一定的編程水平寫代碼去實現。
當然,在工作的前幾年,我基本都是以實現功能就行,根本不考慮程序架構,不考慮代碼寫得好不好,不考慮后期客戶要不要改功能。
正是因為考慮不周,我吃了很多虧,就直接的體現就是經常加班改代碼。
如果程序架構好,這些問題可能幾分鐘就解決了。
3.如何提升
只能通過不斷做項目去積累,但是也不是沒有捷徑的。
捷徑就是能找到一個資深人士學習,跟著他做項目,學習他的項目思維和編程經驗。
這樣你就能節約大量自己摸索的時間。
舉個例子,同一種功能,新手的寫出來可能是這樣的:
而我們無際單片機課程項目的代碼架構是這樣的:
雖然本質都是輪詢方式去執行,但是靈活度很明顯我們寫出來的更高,可以單獨控制每個函數執行時間等等。
審核編輯 :李倩
-
寄存器
+關注
關注
31文章
5357瀏覽量
120621 -
STM32
+關注
關注
2270文章
10906瀏覽量
356530 -
代碼
+關注
關注
30文章
4800瀏覽量
68728
原文標題:stm32入門開發板選野火還是正點原子呢?
文章出處:【微信號:nanshuqg,微信公眾號:無際單片機編程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論