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