日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 公眾號精選 > 嵌入式大雜燴
[導(dǎo)讀]背景寫這篇文章的初衷要從最近帶我一個朋友入坑學(xué)習(xí)單片機(jī)的經(jīng)歷開始講起;我要用梁靜茹給我的勇氣寫寫如何入坑單片機(jī);我的一個朋友以前是汽車電子技術(shù)專業(yè),畢業(yè)之后去做了和汽車相關(guān)的工作,修了一年車;其實干一行愛一行,三百六十行,行行出狀元,確實挺好的;不過修車總給他一種一眼看到頭的感覺...


背景

寫這篇文章的初衷要從最近帶我一個朋友入坑學(xué)習(xí)單片機(jī)的經(jīng)歷開始講起;


我要用梁靜茹給我的勇氣寫寫如何入坑單片機(jī);


我的一個朋友以前是汽車電子技術(shù)專業(yè),畢業(yè)之后去做了和汽車相關(guān)的工作,修了一年車;


其實干一行愛一行,三百六十行,行行出狀元,確實挺好的;


不過修車總給他一種一眼看到頭的感覺(子非魚,安知魚之樂?對不起,他自己告訴我的);


于是,他跳槽了,找了一份電子工程師的工作;


工作內(nèi)容和我差不多,平日里打打雜;


平淡的日子就這樣重復(fù)著,直到有一天,他說想學(xué)單片機(jī);我準(zhǔn)備給他支支招。


基礎(chǔ)部分

DAY 1


第一天,幫他整理了整體的學(xué)習(xí)路線,基礎(chǔ)知識篇;


  1. C語言是一本必須掌握的編程語言,看視頻的效率相對來說會高一點,所以我給他推薦了B站 浙大翁愷老師的C語言視頻;


    因為視頻還挺長的,我只推薦他看了比較基礎(chǔ)的部分,做一下課后習(xí)題,掌握基本的語法,if,while,for等語句;


  2. 紙上得來終覺淺,學(xué)單片機(jī)還是重在實踐;為了開源節(jié)流,我把以前吃灰的STM32開發(fā)板拿給他,畢竟資料很多嘛,學(xué)起來也方便;


    理想是很豐滿:原本計劃用cubemx st官方的HAL庫來進(jìn)行實踐,畢竟B站還有之前開發(fā)板的配套資料也不少;


    現(xiàn)實卻很骨感:


    • cubemx軟件就搞的滿頭大汗了,最后是安裝的JDK版本不對,直接裂開,一個晚上時間沒了;


    • 我給他操作了一遍使用cubemx配置自動生成代碼,然后點亮一個LED,整個過程很順利,沒有寫一行代碼,但是我給他解釋代碼的時候,他是完全懵逼的狀態(tài),不知其所以然,這里有十萬個黑人問號臉!??!


      好吧,畢竟HAL庫封裝的很不錯,感覺對新手不太友好(前面提到他C語言基礎(chǔ)還不是很扎實);


      后來我知道他偷偷跑去看結(jié)構(gòu)體和指針的內(nèi)容了。


    • 看來還是得用51單片機(jī),因為簡單,可以先點亮一個燈,建立起興趣;


  3. 給他推薦了某寶的一塊51單片機(jī)開發(fā)板,隨便找的,功能都大同小異;


DAY 2 —DAY N


開發(fā)板隔天就到了,看配套視頻,寫下了單片機(jī)的hello world,然后燈就亮了;


#include
sbit LED=P1^0;

void main(void){

LED = 1;
while(1){

}
}
同樣是點亮一個LED,但是這次好像有內(nèi)味道了,看到實驗成果,他笑出了豬叫;


后面給他推薦了郭天祥的視頻《十天學(xué)會單片機(jī)》;


看視頻,一邊補(bǔ)充C語言知識,一邊對照著每個單片機(jī)講解視頻進(jìn)行學(xué)習(xí),視頻中的講解大多比較淺顯易懂,對于新手比較友好;


把課后習(xí)題一個一個做掉,流水燈,數(shù)碼管,串口,定時器,外部中斷,初步掌握這些基本的外設(shè)的應(yīng)用之后,


他還嘗試做了一個循跡小車;雖然循跡小車比較簡單,但是很有里程碑意義的,這里面涉及到傳感器技術(shù),直流電機(jī)的驅(qū)動,以及微控制器等技術(shù);


雖然《十天學(xué)會單片機(jī)》的視頻標(biāo)題略顯浮躁,但是作為入門,他花的時間遠(yuǎn)比十天要長,所以新手千萬不要因為自己學(xué)得沒有別人快而焦慮,產(chǎn)生挫敗感,從而自我否定,自我懷疑;


但是需要及時思考和總結(jié)自己的學(xué)習(xí)方法是否高效,是否有辦法優(yōu)化效率;


最后,按照我個人的觀點(如有偏駁,請輕拍),對于零基礎(chǔ)的新手,方法策略是實踐;


  • 剛開始要避免學(xué)習(xí)冗雜的理論,選擇簡單友好的開發(fā)環(huán)境,不是一上來就是啃厚厚的理論書,學(xué)習(xí)工具鏈,學(xué)習(xí)Linux環(huán)境,匯編,這樣學(xué)習(xí)曲線太陡峭,容易產(chǎn)生挫敗感;
  • 設(shè)置階段性的學(xué)習(xí)目標(biāo),可以拆分成容易完成的小任務(wù),每完成一個任務(wù)都能形成正向反饋,增加信心,從而堅信自己能學(xué)好,能繼續(xù)學(xué)下去;
  • 掌握對單片機(jī)進(jìn)行應(yīng)用的方法之后,可以以點帶面,再對知識盲區(qū)進(jìn)行掃盲,從而拓寬知識的廣度同時,增加深度;

回歸正題

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


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


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


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


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


如果覺得對你有幫助,可以在[小麥大叔]公眾號后臺回復(fù)[技術(shù)思維導(dǎo)圖]領(lǐng)取xmind格式的文件;


貼這張圖的目的是什么呢?只是想說明和單片機(jī)相關(guān)的技術(shù)會涉及到很多東西,所以著眼點應(yīng)該是加強(qiáng)基礎(chǔ)知識的建設(shè);


基礎(chǔ)編程


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


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


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


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


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


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


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


硬件部分


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


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


  • 原理圖設(shè)計,能看懂?dāng)?shù)據(jù)手冊,根據(jù)項目需求進(jìn)行電子元器件的選型;


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


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


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


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


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


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


總結(jié)

本文簡單介紹了學(xué)習(xí)單片機(jī)的技術(shù)路線,分別從軟件角度和硬件角度給出了簡單的方法,單片機(jī)開發(fā)是軟硬結(jié)合的,所以軟件的學(xué)習(xí)和硬件的學(xué)習(xí),缺一不可;


筆者能力和水平有限,文中難免存在錯誤和紕漏,請大佬不吝賜教。



—— The End —



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

▼點擊下方名片,關(guān)注公眾號▼歡迎關(guān)注【玩轉(zhuǎn)單片機(jī)與嵌入式】公眾號,回復(fù)關(guān)鍵字獲取更多免費資料?;貜?fù)【STM32】,獲取STM32相關(guān)設(shè)計和視頻教程回復(fù)【PCB】,獲取PCB設(shè)計相關(guān)的資料回復(fù)【硬件知識】、【硬件設(shè)計】,獲...

關(guān)鍵字: 單片機(jī)開發(fā)

功耗,在電池供電的儀器儀表中是一個重要的考慮因素。PIC16C××系列單片機(jī)本身的功耗較低(在5V,4MHz振蕩頻率時工作電流小于2mA)。

關(guān)鍵字: PIC 單片機(jī)開發(fā) 功耗

感覺自己看過好多五花八門的關(guān)于單片機(jī)的開發(fā)經(jīng)驗了,但是不一定那些就是適合你的,“書讀百遍其義自見”,在追求學(xué)問的路上我們永無止境。 單片機(jī)開發(fā)初探 做AT89C5X(51,52,55等等)的時間最長,知道的可能多些,主要...

關(guān)鍵字: 單片機(jī)開發(fā)

我們學(xué)習(xí)單片機(jī)的目的就是為了進(jìn)行嵌入式系統(tǒng)的開發(fā),學(xué)好單片機(jī)首先要有一個整體認(rèn)識,下面將簡要介紹一下單片機(jī)應(yīng)用系統(tǒng)的開發(fā)流程,如圖所示。 圖 單片機(jī)系統(tǒng)開發(fā)流程 (1)明確任務(wù) 分析和了解項目的總體要求,并綜合考慮系統(tǒng)使...

關(guān)鍵字: 單片機(jī)開發(fā)

單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)?CPU 可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工 匯編的方法了。

關(guān)鍵字: 單片機(jī)開發(fā) 匯編語言 keil單片機(jī)

仿真是單片機(jī)開發(fā)過程中非常重要的一個環(huán)節(jié),除了一些極簡單的任務(wù),一般產(chǎn)品開發(fā)過程中都要進(jìn)行仿真,仿真的主要目的是進(jìn)行軟件調(diào)試,當(dāng)然借助仿真機(jī),也能進(jìn)行一些硬件排錯。一塊單片機(jī)應(yīng)用電路板包括單片機(jī)部份及

關(guān)鍵字: 仿真 單片機(jī)開發(fā) 仿真機(jī)

由美國Microchip公司生產(chǎn)的PIC系列單片機(jī),由于其超小型、低功耗、低成本、多品種等特點,已廣泛應(yīng)用于工業(yè)控制、儀器、儀表、通信、家電、玩具等領(lǐng)域,本文總結(jié)了作者在PIC單片機(jī)開發(fā)過程中的一些經(jīng)驗、技巧,供同行

關(guān)鍵字: pic 單片機(jī)開發(fā)

linux上可以使用sdcc進(jìn)行單片機(jī)開發(fā)ubuntu使用apt-get install sdcc即可安裝。附一個比較通用的MakefilePRJ := testSRC := $(wildcard *.c)HEX :=...

關(guān)鍵字: Linux 單片機(jī)開發(fā)

嵌入式大雜燴

461 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉