作為一個在嵌入式領(lǐng)域工作多年的老程序員,從最開始的前后臺系統(tǒng)的mcu產(chǎn)品的開發(fā)開始,到后來的mcu+rtos,乃至后面的soc+linux,可以說也是從小白一步一步走過來的。這里就借回答問題的機會,也將自己學(xué)習(xí)mcu的過程回顧總結(jié)下來,希望能夠?qū)V大單片機愛好者和學(xué)習(xí)者有所幫助。
總體來說,單片機mcu的學(xué)習(xí)主要分為以下四個步驟。根據(jù)個人的發(fā)展經(jīng)歷,總結(jié)了如下的學(xué)習(xí)步驟供大家參考和學(xué)習(xí)。
個人的總結(jié),僅供參考
第一,掌握基本的單片機背景知識。
只有知己知彼,才能百戰(zhàn)百勝。我們需要對mcu的歷史和發(fā)展過程有一個初步的認知,并通過對當(dāng)前嵌入式mcu領(lǐng)域主流芯片的分析,參考個人的未來發(fā)展領(lǐng)域,選擇一款適合自己發(fā)展和學(xué)習(xí)的mcu芯片。
一般來說,對于初學(xué)者而言,51單片機構(gòu)造簡單,開發(fā)編碼同樣為c語言,所以比較適合新手入門學(xué)習(xí)。同時,近些年由于stm32系列mcu由于性價比高,市場占有率不斷提高,其提供的驅(qū)動開發(fā)庫一改往日單片機直接對寄存器的操作,開發(fā)更加便捷。對于敢于挑戰(zhàn)的朋友,可以選擇入門從stm32芯片入手。
第二,基礎(chǔ)知識和基本編碼技能準(zhǔn)備。
其中,基礎(chǔ)知識的學(xué)習(xí)主要分為:
1、單片機芯片原理的學(xué)習(xí):主要學(xué)習(xí)mcu的硬件架構(gòu),gpio,時鐘,最小系統(tǒng)等模塊的基本原理。
2、單片機基本編碼語言的學(xué)習(xí):主要學(xué)習(xí)c語言的基礎(chǔ)知識,通過理論學(xué)習(xí),掌握基本的編碼技能。
3、編碼環(huán)境的搭建:不同的mcu一般都有不同的ide編碼編譯環(huán)境,根據(jù)mcu搭建不同的ide環(huán)境。
第三,通過動手實踐強化記憶。
任何編程語言的學(xué)習(xí),尤其是嵌入式語言來說,動手編碼實踐是非常必要和關(guān)鍵的。一般來說,很多單片機的入門新手,大多都會準(zhǔn)備一款對應(yīng)的開發(fā)實驗板。通過對其提供的例子進行反復(fù)編碼練習(xí),不斷打磨c語言技能,提高對單片機各個相關(guān)功能模塊的編碼能力??偨Y(jié)來說就是:理論基礎(chǔ)上的反復(fù)實踐練習(xí)。
第四,深化技能棧,提高編碼技術(shù)。
一般來說,嵌入式開發(fā)學(xué)習(xí)板提供的例子程序都非?;A(chǔ)和單一。在掌握一定的編碼能力和mcu編碼功底的基礎(chǔ)上,大家很多都會向更高的技術(shù)技能棧進行深化。主要有rtos操作系統(tǒng)和常用硬件通信協(xié)議,比如iic,spi,uart等方面進行學(xué)習(xí)和進階。完成第四個步驟的學(xué)習(xí),一般來說基本上學(xué)習(xí)者都會達到一定的mcu開發(fā)基礎(chǔ)。但是如果需要繼續(xù)在mcu的領(lǐng)域有所突破,就需要在單片機開發(fā)領(lǐng)域不斷進行項目的鍛煉,唯有不斷地編碼,不斷地參與新的項目,單片機的技術(shù)才能得到提高。
以上,就是根據(jù)個人的學(xué)習(xí)經(jīng)歷總結(jié)的mcu的入門學(xué)習(xí)步驟,希望能夠?qū)纹瑱C愛好者有所幫助。