背景
寫這篇文章的初衷要從最近帶我一個朋友入坑學(xué)習(xí)單片機的經(jīng)歷開始講起;
我要用梁靜茹給我的勇氣寫寫如何入坑單片機;
我的一個朋友以前是汽車電子技術(shù)專業(yè),畢業(yè)之后去做了和汽車相關(guān)的工作,修了一年車;
其實干一行愛一行,三百六十行,行行出狀元,確實挺好的;
不過修車總給他一種一眼看到頭的感覺(子非魚,安知魚之樂?對不起,他自己告訴我的);
于是,他跳槽了,找了一份電子工程師的工作;
工作內(nèi)容和我差不多,平日里打打雜;
平淡的日子就這樣重復(fù)著,直到有一天,他說想學(xué)單片機;我準(zhǔn)備給他支支招。
基礎(chǔ)部分
DAY 1
第一天,幫他整理了整體的學(xué)習(xí)路線,基礎(chǔ)知識篇;
C語言是一本必須掌握的編程語言,看視頻的效率相對來說會高一點,所以我給他推薦了B站 浙大翁愷老師的C語言視頻;
因為視頻還挺長的,我只推薦他看了比較基礎(chǔ)的部分,做一下課后習(xí)題,掌握基本的語法,if,while,for等語句;
紙上得來終覺淺,學(xué)單片機還是重在實踐;為了開源節(jié)流,我把以前吃灰的STM32開發(fā)板拿給他,畢竟資料很多嘛,學(xué)起來也方便;
理想是很豐滿:原本計劃用+st官方的HAL庫來進(jìn)行實踐,畢竟B站還有之前開發(fā)板的配套資料也不少;
現(xiàn)實卻很骨感:
給他推薦了某寶的一塊51單片機開發(fā)板,隨便找的,功能都大同小異;
DAY 2 —DAY N
開發(fā)板隔天就到了,看配套視頻,寫下了單片機的hello world,然后燈就亮了;
#include?
sbit?LED=P1^0;
void?main(void){
????
????LED?=?1;
????while(1){
????????
????}
}
同樣是點亮一個LED模擬電子技術(shù)能一晚上學(xué)會嗎,但是這次好像有內(nèi)味道了,看到實驗成果,他笑出了豬叫;
后面給他推薦了郭天祥的視頻《十天學(xué)會單片機》;
看視頻,一邊補充C語言知識,一邊對照著每個單片機講解視頻進(jìn)行學(xué)習(xí),視頻中的講解大多比較淺顯易懂,對于新手比較友好;
把課后習(xí)題一個一個做掉,流水燈,數(shù)碼管,串口,定時器,外部中斷,初步掌握這些基本的外設(shè)的應(yīng)用之后,
他還嘗試做了一個循跡小車;雖然循跡小車比較簡單,但是很有里程碑意義的,這里面涉及到傳感器技術(shù),直流電機的驅(qū)動,以及微控制器等技術(shù);
雖然《十天學(xué)會單片機》的視頻標(biāo)題略顯浮躁,但是作為入門,他花的時間遠(yuǎn)比十天要長,所以新手千萬不要因為自己學(xué)得沒有別人快而焦慮,產(chǎn)生挫敗感,從而自我否定,自我懷疑;
但是需要及時思考和總結(jié)自己的學(xué)習(xí)方法是否高效,是否有辦法優(yōu)化效率;
最后,按照我個人的觀點(如有偏駁,請輕拍),對于零基礎(chǔ)的新手,方法策略是實踐;
回歸正題
好了,下面言歸正傳,問題是如何系統(tǒng)地學(xué)習(xí)單片機,所以本文著眼于討論如何系統(tǒng)地學(xué)習(xí)單片機,而單片機這門技術(shù)是否有前景,則不做闡述。
如何系統(tǒng)地學(xué)習(xí)單片機?我感覺很難系統(tǒng)學(xué)習(xí),因為這是一個多學(xué)科交叉的技術(shù);
另外,如果你用單片機做不同的項目,應(yīng)用到不同的領(lǐng)域,那有可能會涉及新的知識盲區(qū);
所以是掌握好單片機這個技術(shù)的理論知識作為基礎(chǔ)支撐,然后不斷拓展自己的知識面,不斷提高知識深度;
下圖是我平時整理的思維導(dǎo)圖,做的不是很好,都是每次想到一些就補充一些,所以還有些凌亂;
貼這張圖的目的是什么呢?只是想說明和單片機相關(guān)的技術(shù)會涉及到很多東西,所以著眼點應(yīng)該是加強基礎(chǔ)知識的建設(shè);
基礎(chǔ)編程
硬件部分
總結(jié)
本文簡單介紹了學(xué)習(xí)單片機的技術(shù)路線模擬電子技術(shù)能一晚上學(xué)會嗎,分別從軟件角度和硬件角度給出了簡單的方法,單片機開發(fā)是軟硬結(jié)合的,所以軟件的學(xué)習(xí)和硬件的學(xué)習(xí),缺一不可;
筆者能力和水平有限,文中難免存在錯誤和紕漏,請大佬不吝賜教。
END
掃碼入群
掃碼添加管理員微信
加入“電子產(chǎn)品世界”粉絲交流群