一位工程師的自述:我的單片機(jī)成長(zhǎng)之路
背景
本文引用地址:http://m.butianyuan.cn/article/202104/424733.htm寫(xiě)這篇文章的初衷要從最近帶我一個(gè)朋友入坑學(xué)習(xí)單片機(jī)的經(jīng)歷開(kāi)始講起;
我要用梁靜茹給我的勇氣寫(xiě)寫(xiě)如何入坑單片機(jī);
我的一個(gè)朋友以前是汽車(chē)電子技術(shù)專(zhuān)業(yè),畢業(yè)之后去做了和汽車(chē)相關(guān)的工作,修了一年車(chē);
其實(shí)干一行愛(ài)一行,三百六十行,行行出狀元,確實(shí)挺好的;
不過(guò)修車(chē)總給他一種一眼看到頭的感覺(jué)(子非魚(yú),安知魚(yú)之樂(lè)?對(duì)不起,他自己告訴我的);
于是,他跳槽了,找了一份電子工程師的工作;
工作內(nèi)容和我差不多,平日里打打雜;
平淡的日子就這樣重復(fù)著,直到有一天,他說(shuō)想學(xué)單片機(jī);我準(zhǔn)備給他支支招。
基礎(chǔ)部分
DAY 1
第一天,幫他整理了整體的學(xué)習(xí)路線(xiàn),基礎(chǔ)知識(shí)篇;
C語(yǔ)言是一本必須掌握的編程語(yǔ)言,看視頻的效率相對(duì)來(lái)說(shuō)會(huì)高一點(diǎn),所以我給他推薦了B站 浙大翁愷老師的C語(yǔ)言視頻;
因?yàn)橐曨l還挺長(zhǎng)的,我只推薦他看了比較基礎(chǔ)的部分,做一下課后習(xí)題,掌握基本的語(yǔ)法,if,while,for等語(yǔ)句;
紙上得來(lái)終覺(jué)淺,學(xué)單片機(jī)還是重在實(shí)踐;為了開(kāi)源節(jié)流,我把以前吃灰的STM32開(kāi)發(fā)板拿給他,畢竟資料很多嘛,學(xué)起來(lái)也方便;
理想是很豐滿(mǎn):原本計(jì)劃用cubemx+st官方的HAL庫(kù)來(lái)進(jìn)行實(shí)踐,畢竟B站還有之前開(kāi)發(fā)板的配套資料也不少;
現(xiàn)實(shí)卻很骨感:
● 裝cubemx軟件就搞的滿(mǎn)頭大汗了,最后是安裝的JDK版本不對(duì),直接裂開(kāi),一個(gè)晚上時(shí)間沒(méi)了;
● 我給他操作了一遍使用cubemx配置自動(dòng)生成代碼,然后點(diǎn)亮一個(gè)LED,整個(gè)過(guò)程很順利,沒(méi)有寫(xiě)一行代碼,但是我給他解釋代碼的時(shí)候,他是完全懵逼的狀態(tài),不知其所以然,這里有十萬(wàn)個(gè)黑人問(wèn)號(hào)臉?。?!
好吧,畢竟HAL庫(kù)封裝的很不錯(cuò),感覺(jué)對(duì)新手不太友好(前面提到他C語(yǔ)言基礎(chǔ)還不是很扎實(shí));
后來(lái)我知道他偷偷跑去看結(jié)構(gòu)體和指針的內(nèi)容了。
● 看來(lái)還是得用51單片機(jī),因?yàn)楹?jiǎn)單,可以先點(diǎn)亮一個(gè)燈,建立起興趣;
給他推薦了某寶的一塊51單片機(jī)開(kāi)發(fā)板,隨便找的,功能都大同小異;
DAY 2 —DAY N
開(kāi)發(fā)板隔天就到了,看配套視頻,寫(xiě)下了單片機(jī)的hello world,然后燈就亮了;
同樣是點(diǎn)亮一個(gè)LED,但是這次好像有內(nèi)味道了,看到實(shí)驗(yàn)成果,他笑出了豬叫;
后面給他推薦了郭天祥的視頻《十天學(xué)會(huì)單片機(jī)》;
看視頻,一邊補(bǔ)充C語(yǔ)言知識(shí),一邊對(duì)照著每個(gè)單片機(jī)講解視頻進(jìn)行學(xué)習(xí),視頻中的講解大多比較淺顯易懂,對(duì)于新手比較友好;
把課后習(xí)題一個(gè)一個(gè)做掉,流水燈,數(shù)碼管,串口,定時(shí)器,外部中斷,初步掌握這些基本的外設(shè)的應(yīng)用之后,
他還嘗試做了一個(gè)循跡小車(chē);雖然循跡小車(chē)比較簡(jiǎn)單,但是很有里程碑意義的,這里面涉及到傳感器技術(shù),直流電機(jī)的驅(qū)動(dòng),以及微控制器等技術(shù);
雖然《十天學(xué)會(huì)單片機(jī)》的視頻標(biāo)題略顯浮躁,但是作為入門(mén),他花的時(shí)間遠(yuǎn)比十天要長(zhǎng),所以新手千萬(wàn)不要因?yàn)樽约簩W(xué)得沒(méi)有別人快而焦慮,產(chǎn)生挫敗感,從而自我否定,自我懷疑;
但是需要及時(shí)思考和總結(jié)自己的學(xué)習(xí)方法是否高效,是否有辦法優(yōu)化效率;
最后,按照我個(gè)人的觀點(diǎn)(如有偏駁,請(qǐng)輕拍),對(duì)于零基礎(chǔ)的新手,方法策略是實(shí)踐;
剛開(kāi)始要避免學(xué)習(xí)冗雜的理論,選擇簡(jiǎn)單友好的開(kāi)發(fā)環(huán)境,不是一上來(lái)就是啃厚厚的理論書(shū),學(xué)習(xí)工具鏈,學(xué)習(xí)Linux環(huán)境,匯編,這樣學(xué)習(xí)曲線(xiàn)太陡峭,容易產(chǎn)生挫敗感;
設(shè)置階段性的學(xué)習(xí)目標(biāo),可以拆分成容易完成的小任務(wù),每完成一個(gè)任務(wù)都能形成正向反饋,增加信心,從而堅(jiān)信自己能學(xué)好,能繼續(xù)學(xué)下去;
掌握對(duì)單片機(jī)進(jìn)行應(yīng)用的方法之后,可以以點(diǎn)帶面,再對(duì)知識(shí)盲區(qū)進(jìn)行掃盲,從而拓寬知識(shí)的廣度同時(shí),增加深度;
評(píng)論