為什麼我會建議初學者使用51單片機的前提下,stm32是可以自學的

2022-04-03   大方老師單片機

原標題:為什麼我會建議初學者使用51單片機的前提下,stm32是可以自學的

為什麼我建議初學者使51單片機的前提下stm32是可以自學的

怎麼自 STM32呢?我想想。當初我也是在進修了一年 51單片機後才過渡 STM32的,所以算有些經歷了。

我大一的時候在實驗室的環境下初始進 51單片機,雖說學長不怎麼管我們這些小白吧,但起碼有個環境在這,有不懂的問題都能夠向學長提問,這就是環境的益處了。但是假如說周圍獨有你一個人在學單片機,那這條路走得就會比較艱難了!為什麼?由於單片機進修不僅波及到軟體,還波及到硬體,這就是為什麼說嵌入式門檻高的理由了,出了問題你不知道是硬體問題還是軟體問題,還是都有問題,須要你依據經歷一一排查才可。

說回自 STM32問題STM32單片機遠 51單片機複雜,寄存器數量是它的好幾倍,各種外設模塊DACRCSPICANSDCANTIM等等,而每一個模塊可能都有單獨的時鐘,在使用這些模塊時都要提前將時鐘配置好,否則根本不能工作;而配置這些外設時鐘之前你還要先配置系統時鐘才行,而系統時鐘又波及到了分頻、倍頻的問題,也是繁雜。正由於這些東西實在是太多了,所以出現了庫函數開發!

庫函數開發的益處就是你不用管如何去操作寄存器,你只有了解什麼時候該調用哪一個函數即可,相當方便,所以庫函數開發的思維就是,記住各個函數的功能、調用條件(不須要死記硬背)就能夠輕鬆進行開發了。但也正由於如此,所以在STM32的時候第一個攔路虎就是如何建設一 STM32工程,由於庫函數開發須要的文件數量遠比單純的寄存器開發多的多,而這些文件之間還有關聯性,很容易編譯出錯,所以可能 51單片機很簡略的建工程到 STM32裡面就會變得複雜了。但這些問題通過網上搜索還是很快能攻克的,但是攻克歸攻克,你是否明白為什麼就這樣攻克了呢?所以你在初始 STM32的時候心裡會很沒底,由於你連最根本的工程都不知道該怎麼才能建好。

然後第二個攔路就是時鐘了,前面說過STM32的時鐘也是相當的複雜,所以很多教程上來就是教你如何配置時鐘,這本沒有錯,但是你可能只是想儘快的點你第一 LED燈而已,卻要學這種感覺和點燈沒關的時鐘問題,所以心裡也是挺著急的。事實上,點第一 LED燈是很簡略的事情,只有你把對應的引腳配置好了就能夠點燈。可能你會問,不要配置時鐘嗎?當然要,只是你點個燈對時鐘的要求根本不高,所以時鐘頻次到底是多少能夠不管,因此你直接用用默認的時鐘配置就行了,由於在進main函數之前啟動文件(唯一的那個彙編文件)其實已經對時鐘進行了配置(默認一般按最大的時鐘頻次進行配置),根本不須要額外的時鐘代碼的。所以這一點能夠省去初學者不少功夫,當你比較熟練的掌握了庫函數的時候,再回過頭來去了解時鐘的配置可能效果會更好。

STM32入門視頻,你能夠找劉凱教師的視頻教程(有清晰版的),講的還是不錯的,由於我就是通過他進 STM32的,一集沒落下的全部看完了。

最後再說一點STM32進修不 5151單片機的調試功能不STM32,所以在尋 BUG上還是比較麻煩的, STM32由於有在線調試功能,能夠實時觀察數據、指令跟蹤,所以在進修過程中一定要好好利用(當初我進修的時候根本不知道,還傻傻的 51那一套調試),而開發平台我覺 MDK最好,由於它把常用的寄存器都進行了集成,還有各種調試機制,非常人性化。

如何更好更快的上stm32呢?創客學院一節視頻帶你掌握零根底進修電子產品設計

最後再配一張圖讓你感受一 MDK調試的強大之處(純軟體仿真的):

我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,簡介里就有,或者留意下方評論第一條(私信我也可以~