1我的經歷
我入門的單片機就是stm32。最初的想法是為了讓導師知道我確確實實在學習并且是有成效的。因為之前一直學習的是模擬電路。模擬電路的學習難度高,又很難做出理想的實物。所以我希望通過單片機來達成這一目的。我入門編程比較早并且學習過Java,對計算機體系,編程思維,有一個比較形象直觀的認識。所以在學習stm32開發時,我并沒有在寫代碼感到有多困難。我入門用的開發板是正點原子的戰艦f103板子,說實話我最開始聽原子歌講stm32也很痛苦。Stm32的知識體系比較龐大并且硬件功能繁多。很多時候就跟不上他的節奏,稀里糊涂就聽完了。既不會寫也無法理解為什么要這么做。之后我廣泛搜集資料,說實話我覺得我搜集資料的能力還是很強的,這在我之后做示波器時也體現出來了。發現野火的視頻不錯,深入淺出,實踐性極強。因為我手頭上只有戰艦的板子所以我只能把野火的程序移植到原子的板子上。正是這個強烈的需求和正確的方式方法,我在整個stm32的學習中,軟硬件都有了獨特,深刻的體會。
在學完stm32后,我迫切希望做一個東西,展示自己的學習成果。閆老師讓我去做示波器,具體名字叫模擬電路調試套裝。簡單說就是包含信號發生器和示波器的電路調試工具。當時并不知道這個東西有多難,只覺得一定要把這個東西做好。在野火的例程幫助下,簡易的正弦,方波,三角波信號發生功能做出來了。后來又去學了ADC采集找了個串口示波器,東拼西籌總算是把老師要求做出來了。雖然結果上是達到了設計目的,但是我感覺整個制作過程幾乎沒有我自己的東西。說實話我并沒有很興奮。
后來老師讓我去學習電路板制作,這又是一個我從來沒有接觸過的東西。在學長提供資料和我后續又找的資料的推動下,我學習完了電路板制作,說實話沒做過實物,心里沒底。閆老師鼓勵我動手去打板子,做板子需要學習,打板子也需要學習。我直接和制板廠的技術員溝通,雖然我什么都不懂,但是我對照下單流程一個一個詢問。雖然第一次PCB做出來失敗了,但是我對制作PCB的流程尤其深刻。為了把這個技能傳遞下去,老師讓我寫一個PCB制作文檔。這個可以說的上是我人生中制作的第一個正式的學習文檔。
由于stm32學的不踏實,我在寒假時間,報名硬禾學堂的示波器制作活動,也是歷經很多困難,最后成功制作完成被官方認可。后面可能會單獨講講。有了以上這些基礎,我完成第一個團隊合作項目,我和學弟負責的制作物聯網傳感器的主從節點硬點電路制作。在這個過程中把PCB制作經驗傳遞下去。學長負責物聯網系統架構設計和軟件開發。
我感受到最重要的一點是,在正確的時間和正確的人完成重要且正確的事情,是極其有意義的。我的畢設是模擬信號發生器,老師并沒有限制我應該怎么做,我對照我的學習經歷和商業信號發生器的功能,去做的畢設,包含上位機控制軟件,單片機信號發生和采集,底板信號調理電路組成。用到的技術,上位機軟件開發,STM32程序開發,信號處理(FFT),模擬電路設計,電路板制作,圖像處理,電路仿真。實現的功能只有,函數信號生成,掃頻功能,任意波形,串口通信,簡易示波器。這個畢設可以說把我這三年的實驗室學習經歷全部用到了。
2 STM32的學習難點
經過這么多的困難與考驗,我終于有底氣來談一談STM32如何入門。零基礎學習STM32的困難是STM32開發方式的簡易和STM32知識體系繁雜之間的矛盾。要明確一點學習stm32不容易,不是因為它難而是因為它知識點多。那解決辦法就很明確學習stm32時,不要指望聽過一遍就全部掌握,要注重回顧知識點,串聯知識點。更重要的是要多思考多動手,跟著教程一點一點寫,不要怕麻煩,stm32的大量理論如果不能轉化為實際的代碼,就會讓人產生畏懼心理。試圖做一個完整的項目,最好包含軟件和硬件,通過實踐來體會單片機在其中發揮的作用。知行合一,方能無往不勝。
3 stm32的概括
就我自己而言,總體上我會看這幾個方面。1.芯片的概要描述,有哪些外設,供電電壓,主頻。2.結構框圖外設與時鐘總線的關系,即每個外設的時鐘來自哪里。不看時鐘樹是因為時鐘樹太復雜了。3.芯片的外設特征和數量。
局部我會看1.引腳的功能有哪些?2.不同型號芯片的引腳數量、編號3.外設的控制,數據,狀態寄存器定義略看。
4.stm32快速應用
學會使用廠商提供的參考歷程。比如戰艦光盤資料、stm32固件庫里的參考例程。另一個就是移植別人的代碼在自己的開發板上。例如,多功能按鍵驅動、軟件定時器、GUI菜單、濾波算法等。通過這些東西來快速熟悉嵌入式系統的開發。
利用仿真器去調試程序,單步執行、全速執行、打斷點等。給程序加調試信息輸出到串口。
動態的觀察程序執行流程,與設計的是否一致。學會版本管理留下處于不同階段的程序,以便回朔與救災。同時也可在確定版本基礎上進行不同方向設計想法的嘗試。
5.工具鏈
STM32CUBEMX圖形化配置工具
understand代碼解析工具
MDK寫程序
串口調試工具
STlink/Jlink仿真器
示波器/邏輯分析儀
其他到的工具與具體的細分領域有關,這里就不寫了。
審核編輯:湯梓紅
-
單片機
+關注
關注
6032文章
44521瀏覽量
633105 -
示波器
+關注
關注
113文章
6194瀏覽量
184527 -
STM32
+關注
關注
2266文章
10873瀏覽量
354843
發布評論請先 登錄
相關推薦
評論