一位工程師的自述:我的單片機(jī)成長之路
回歸正題
本文引用地址:http://m.butianyuan.cn/article/202104/424733.htm好了,下面言歸正傳,問題是如何系統(tǒng)地學(xué)習(xí)單片機(jī),所以本文著眼于討論如何系統(tǒng)地學(xué)習(xí)單片機(jī),而單片機(jī)這門技術(shù)是否有前景,則不做闡述。
如何系統(tǒng)地學(xué)習(xí)單片機(jī)?我感覺很難系統(tǒng)學(xué)習(xí),因?yàn)檫@是一個(gè)多學(xué)科交叉的技術(shù);
另外,如果你用單片機(jī)做不同的項(xiàng)目,應(yīng)用到不同的領(lǐng)域,那有可能會(huì)涉及新的知識(shí)盲區(qū);
所以是掌握好單片機(jī)這個(gè)技術(shù)的理論知識(shí)作為基礎(chǔ)支撐,然后不斷拓展自己的知識(shí)面,不斷提高知識(shí)深度;
下圖是我平時(shí)整理的思維導(dǎo)圖,做的不是很好,都是每次想到一些就補(bǔ)充一些,所以還有些凌亂;
貼這張圖的目的是什么呢?只是想說明和單片機(jī)相關(guān)的技術(shù)會(huì)涉及到很多東西,所以著眼點(diǎn)應(yīng)該是加強(qiáng)基礎(chǔ)知識(shí)的建設(shè);
基礎(chǔ)編程
C語言必須精通,但絕非一朝一夕的事情,需要大量時(shí)間去實(shí)踐,去寫代碼,去調(diào)試,去做項(xiàng)目,同時(shí)還得學(xué)習(xí)理論,通過實(shí)踐加深理解,推薦書籍《C 和指針》,《C 陷阱與缺陷》等;
語言只是工具,學(xué)會(huì)了C語言,你已經(jīng)知道如何砌磚了,但是如何把樓蓋高,蓋牢,蓋的好看呢?
這時(shí)候,就需要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),算法和設(shè)計(jì)模式,這里推薦《算法導(dǎo)論》,《代碼大全》都不錯(cuò),也是經(jīng)典了,而且這兩本書也會(huì)長期陪伴著你;
再到后面,發(fā)現(xiàn)裸機(jī)編程已經(jīng)很難滿足學(xué)習(xí)欲望了,這時(shí)候可能會(huì)學(xué)習(xí)實(shí)時(shí)系統(tǒng)了,F(xiàn)reeRTOS,RTThread,都是十分優(yōu)秀的項(xiàng)目;
慢慢地學(xué)會(huì)讀這些項(xiàng)目的源碼,讀優(yōu)秀項(xiàng)目的源碼,這是提高很快的途徑;
這時(shí)候,還不夠,操作系統(tǒng),微機(jī)原理(EE)/計(jì)算機(jī)組成原理(CS),這些書可以操作起來了;
后來還可能會(huì)接觸到Linux,這是個(gè)龐然大物,LKD,LDD,ULK,這三本書,就夠啃了;當(dāng)然前提還得學(xué)會(huì)Linux環(huán)境下編程,shell腳本,makefile等等等,內(nèi)容太多了,我對(duì)Linux涉獵不是很深入,如果是做應(yīng)用的話,AUPE啃一下,一定會(huì)受益匪淺的;
硬件部分
模擬電子技術(shù)和數(shù)字電子技術(shù),如果是EE科班都會(huì)開設(shè)這兩門課程的,如果是非科班,零基礎(chǔ),可以自學(xué)一下;
推薦麻省理工的公開課《電路與電子學(xué)》,教授講得很好,里面已經(jīng)涵蓋了模電和數(shù)電的內(nèi)容;
原理圖設(shè)計(jì),能看懂?dāng)?shù)據(jù)手冊(cè),根據(jù)項(xiàng)目需求進(jìn)行電子元器件的選型;
前提是,熟悉最基本的電子元器件,阻容,磁珠,MOS管,二極管等等;
另外還有功能元器件也需要了解,運(yùn)放,數(shù)字IC,存儲(chǔ)芯片等等;
但是這還遠(yuǎn)遠(yuǎn)不夠,可能還要板載電源,用LDO,還是DCDC,如果是DCDC還得考慮紋波,噪聲等等,不過這好像和單片機(jī)又扯遠(yuǎn)了(通常會(huì)有專門電源工程師),如果沒有,那你上;
PCB的Layout,需要學(xué)習(xí)一款EDA軟件,Altium designer用的比較多,Pads,開源的KiCad也不錯(cuò),多用用就熟練了,不懂的多問搜索引擎;
Layout的設(shè)計(jì)規(guī)范可以參考一下華為的設(shè)計(jì)規(guī)范,注意一下板機(jī)的EMC,布線,鋪銅,接地方式以及回流面積,如果是低速板,相對(duì)難度會(huì)小一點(diǎn),硬件的坑很深,甚踩;
最后我想說的是最重要的還是實(shí)踐,實(shí)踐,實(shí)踐,自己做個(gè)板子,發(fā)出去打樣,現(xiàn)在打樣還是很便宜了,甚至連SMT都包了,軟件靠精力,硬件靠經(jīng)歷,多爬坑,學(xué)的就多了,會(huì)的也就多了,技術(shù)在于積累。
總結(jié)
本文簡單介紹了學(xué)習(xí)單片機(jī)的技術(shù)路線,分別從軟件角度和硬件角度給出了簡單的方法,單片機(jī)開發(fā)是軟硬結(jié)合的,所以軟件的學(xué)習(xí)和硬件的學(xué)習(xí),缺一不可;筆者能力和水平有限,文中難免存在錯(cuò)誤和紕漏,請(qǐng)大佬不吝賜教。
評(píng)論