新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 一位工程師的自述:我的單片機成長之路

一位工程師的自述:我的單片機成長之路

作者:菜刀和小麥 時間:2021-04-22 來源:小麥大叔 收藏
編者按:本文簡單介紹了學習單片機的技術路線,分別從軟件角度和硬件角度給出了簡單的方法,單片機開發(fā)是軟硬結合的,所以軟件的學習和硬件的學習,缺一不可。

回歸正題

本文引用地址:http://m.butianyuan.cn/article/202104/424733.htm

好了,下面言歸正傳,問題是如何系統(tǒng)地學習,所以本文著眼于討論如何系統(tǒng)地學習,而這門技術是否有前景,則不做闡述。

如何系統(tǒng)地學習單片機?我感覺很難系統(tǒng)學習,因為這是一個多學科交叉的技術;

另外,如果你用單片機做不同的項目,應用到不同的領域,那有可能會涉及新的知識盲區(qū);

所以是掌握好單片機這個技術的理論知識作為基礎支撐,然后不斷拓展自己的知識面,不斷提高知識深度;

下圖是我平時整理的思維導圖,做的不是很好,都是每次想到一些就補充一些,所以還有些凌亂;

1619059384495531.jpg

貼這張圖的目的是什么呢?只是想說明和單片機相關的技術會涉及到很多東西,所以著眼點應該是加強基礎知識的建設;

基礎編程

必須精通,但絕非一朝一夕的事情,需要大量時間去實踐,去寫代碼,去調(diào)試,去做項目,同時還得學習理論,通過實踐加深理解,推薦書籍《C 和指針》,《C 陷阱與缺陷》等;

語言只是工具,學會了,你已經(jīng)知道如何砌磚了,但是如何把樓蓋高,蓋牢,蓋的好看呢?

這時候,就需要學習數(shù)據(jù)結構,算法和設計模式,這里推薦《算法導論》,《代碼大全》都不錯,也是經(jīng)典了,而且這兩本書也會長期陪伴著你;

再到后面,發(fā)現(xiàn)裸機編程已經(jīng)很難滿足學習欲望了,這時候可能會學習實時系統(tǒng)了,F(xiàn)reeRTOS,RTThread,都是十分優(yōu)秀的項目;

慢慢地學會讀這些項目的源碼,讀優(yōu)秀項目的源碼,這是提高很快的途徑;

這時候,還不夠,操作系統(tǒng),微機原理(EE)/計算機組成原理(CS),這些書可以操作起來了;

后來還可能會接觸到Linux,這是個龐然大物,LKD,LDD,ULK,這三本書,就夠啃了;當然前提還得學會Linux環(huán)境下編程,shell腳本,makefile等等等,內(nèi)容太多了,我對Linux涉獵不是很深入,如果是做應用的話,AUPE啃一下,一定會受益匪淺的;

硬件部分

模擬電子技術和數(shù)字電子技術,如果是EE科班都會開設這兩門課程的,如果是非科班,零基礎,可以自學一下;

推薦麻省理工的公開課《電路與電子學》,教授講得很好,里面已經(jīng)涵蓋了模電和數(shù)電的內(nèi)容;

原理圖設計,能看懂數(shù)據(jù)手冊,根據(jù)項目需求進行電子元器件的選型;

前提是,熟悉最基本的電子元器件,阻容,磁珠,MOS管,二極管等等;

另外還有功能元器件也需要了解,運放,數(shù)字IC,存儲芯片等等;

但是這還遠遠不夠,可能還要板載電源,用LDO,還是DCDC,如果是DCDC還得考慮紋波,噪聲等等,不過這好像和單片機又扯遠了(通常會有專門電源工程師),如果沒有,那你上;

PCB的Layout,需要學習一款EDA軟件,Altium designer用的比較多,Pads,開源的KiCad也不錯,多用用就熟練了,不懂的多問搜索引擎;

Layout的設計規(guī)范可以參考一下華為的設計規(guī)范,注意一下板機的EMC,布線,鋪銅,接地方式以及回流面積,如果是低速板,相對難度會小一點,硬件的坑很深,甚踩;

最后我想說的是最重要的還是實踐,實踐,實踐,自己做個板子,發(fā)出去打樣,現(xiàn)在打樣還是很便宜了,甚至連SMT都包了,軟件靠精力,硬件靠經(jīng)歷,多爬坑,學的就多了,會的也就多了,技術在于積累。

總結

本文簡單介紹了學習單片機的技術路線,分別從軟件角度和硬件角度給出了簡單的方法,單片機開發(fā)是軟硬結合的,所以軟件的學習和硬件的學習,缺一不可;筆者能力和水平有限,文中難免存在錯誤和紕漏,請大佬不吝賜教。


上一頁 1 2 下一頁

關鍵詞: 單片機 C語言

評論


相關推薦

技術專區(qū)

關閉