直接跳過51單片機(jī)學(xué)STM32,會(huì)有哪些問題?
來(lái)源于小伙伴提問:
下面是我的一些看法。
放棄51直接學(xué)STM32完全可行,甚至可能更適合你。
STM32能滿足你做酷炫項(xiàng)目的需求,開發(fā)門檻也沒有想象中高。
至于電路設(shè)計(jì)和PCB方面的學(xué)習(xí)曲線,雖然略有挑戰(zhàn),但通過資源豐富的在線教程和工具,你可以快速上手。
1
跳過51直接學(xué)STM32的問題?
首先,51單片機(jī)(8051架構(gòu))是個(gè)“老前輩”,很多人從它開始學(xué),因?yàn)樗?jiǎn)單、成本低、資源豐富。但是它的性能和功能的確過時(shí)了,尤其是在如今需要更高性能、更多外設(shè)支持的項(xiàng)目里,它的局限性很明顯。
STM32屬于ARM Cortex-M系列,功能強(qiáng)大、功耗低、外設(shè)豐富,支持很多你感興趣的特性,比如無(wú)線通信、傳感器接口、實(shí)時(shí)數(shù)據(jù)處理等。
從51直接轉(zhuǎn)STM32,你可能會(huì)遇到以下問題:
開發(fā)環(huán)境的復(fù)雜度增加:STM32的開發(fā)環(huán)境和工具鏈(如STM32CubeMX、Keil等)比51要復(fù)雜一些,不過有很多資源可以幫你快速上手。而且,很多代碼配置可以自動(dòng)生成,比你手動(dòng)寫寄存器操作要容易得多。
資源和學(xué)習(xí)曲線:STM32有更多的外設(shè)、更多的中斷、更復(fù)雜的時(shí)鐘系統(tǒng),所以一開始你可能會(huì)感到頭大,但因?yàn)槟阋呀?jīng)對(duì)C語(yǔ)言有一定了解,所以習(xí)慣了之后,你會(huì)發(fā)現(xiàn)STM32能幫你輕松應(yīng)對(duì)各種挑戰(zhàn)。
跳過匯編:雖然你說(shuō)匯編不會(huì),其實(shí)很多STM32開發(fā)中并不需要深入了解匯編,大部分C語(yǔ)言就夠用了。很多庫(kù)和框架都為你封裝好了底層的東西,直接用C寫高層邏輯就行。
2
為什么STM32適合你?
STM32能更好地支持你“玩”那些有意思的東西。
比如你提到的:
自平衡小車、飛行器:STM32有強(qiáng)大的定時(shí)器、PWM輸出、ADC/DAC等硬件功能,可以輕松處理電機(jī)控制和傳感器輸入。
無(wú)線通信、Wi-Fi、藍(lán)牙等功能:STM32可以用外部模塊進(jìn)行Wi-Fi和藍(lán)牙的通信,而像ESP32這種芯片直接集成了Wi-Fi和藍(lán)牙功能,可能對(duì)你這種項(xiàng)目更合適。
圖像處理、紅外線感應(yīng):STM32能處理復(fù)雜的傳感器輸入,處理速度比51要高得多,這對(duì)實(shí)時(shí)的控制和數(shù)據(jù)處理至關(guān)重要。
3
額外疑問回答
STM32學(xué)習(xí)推薦
開發(fā)板:STM32F103(入門經(jīng)典款)、STM32F4(更高性能,適合復(fù)雜應(yīng)用),或者試試STM32 Nucleo開發(fā)板,兼容Arduino擴(kuò)展板,適合從簡(jiǎn)單項(xiàng)目入手。
教程推薦:看一些YouTube教程或者B站上的STM32入門課程??梢詮恼c(diǎn)原子、野火的教學(xué)資料入手,他們都有詳細(xì)的硬件和軟件講解。
畫板、焊接、PCB流程
如果你要自己畫板和做硬件開發(fā),得學(xué)點(diǎn)模擬電路和數(shù)字電路。可以參考《電子工程師基礎(chǔ)教程》和《電路基礎(chǔ)》這類書籍。像你提到的PCB設(shè)計(jì),確實(shí)是你設(shè)計(jì)好電路圖后,通過像EasyEDA、Altium Designer之類的工具畫出PCB,然后可以找廠家做板子,像JLCPCB等網(wǎng)站很方便。
至于焊接,你需要學(xué)點(diǎn)焊接基礎(chǔ),學(xué)會(huì)用烙鐵手工焊接簡(jiǎn)單的元件,或者直接把設(shè)計(jì)好的PCB送去焊接廠做SMT貼片。
多久能達(dá)到熟練?
學(xué)習(xí)速度因人而異,但你有編程基礎(chǔ),這是一大優(yōu)勢(shì)。大概半年到一年你就能做一些簡(jiǎn)單的自制硬件項(xiàng)目,比如自平衡小車或傳感器的集成。
如果想完全掌握從設(shè)計(jì)電路到實(shí)現(xiàn)復(fù)雜功能,可能需要更長(zhǎng)時(shí)間,比如2年左右能熟練掌握電路設(shè)計(jì)、PCB制作和固件編程。
收入問題
嵌入式開發(fā)行業(yè)的薪資差距較大,初級(jí)工程師(剛轉(zhuǎn)行或新手)月薪大概在8K-12K人民幣,而熟練的嵌入式開發(fā)者可以拿到15K-25K人民幣甚至更多。
如果你有了這方面經(jīng)驗(yàn),不僅能做自己感興趣的項(xiàng)目,還能進(jìn)入物聯(lián)網(wǎng)、智能硬件等高薪行業(yè)。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。