STM32系列--從入門到精通

        使用STM32也有好幾個年頭,起初用的開發板已經積灰了,刷乾淨開發板上的灰,我覺得,應該寫點什麼東西了,把這些年來調試走過的路,一些心得,一些體會,記錄下來,希望對大家有所幫助。箇中的一些知識,若有不中肯或描述不當的地方,也請各位多多指正。

        以前,我使用的是ST的標準庫,後來,發現有一個叫Stm32CubeMx的工具,這個工具能省去很多基本配置的工作,快速地生成工程。這個工具使用HAL庫,也是ST寫的,封裝了很多最底層的細節,用起來很方便。我打算就從STM32CubeMx這個工具開始,建立第一個項目,接着調UART,I2C,GPIO,FSMC等等,到FreeRtos實時操作系統,這是個相對比較簡單的操作系統,有任務,時間片,信號量等等,講起來也比較龐大,到Lwip協議棧,這個需要很多TCP/IP的網絡基礎,建議先拜讀一下 W.Richard Stevens寫的《TCP/IP詳解》三部曲,1是協議,2是實現,3可以暫時不看,這三部曲是經典中的經典,沒有之一之二之三。拜讀完這2本書後,基本上,Lwip也能自己看懂了。

        工欲善其事,必先利其器 --- 不是我說,孔子說的。

        起初,我以爲器,就是各種工具,比如,STM32CubeMx等,隨着工作經驗的豐富,我發現,工具只是一部分,能熟練使用工具固然能夠提高工作效率,但任何工具,都算不上真真正正的神器,基礎理論知識,如何看懂原理圖、如何獲取資料、如何閱讀資料,這些,纔是真真正正的神器,只有掌握了這些技能,方能海闊任魚躍,天高任鳥飛,不管用的是ST的MCU,還是NXP的MCU,不管使用的是哪個庫,或者直接寄存器,結果都是一樣的。

        在其間,我會插入一些基本的理論知識,用理論支持實踐,用實踐驗證理論!

        好了,就讓我們開始吧!

        就由第一篇開始STM32的開光儀式吧!

        接下來在第二篇到第七篇,我們講一講Uart口,從配置、輪循接收、中斷接收、DMA接收、到printf函數實現、@cmd命令實現,我們把整個調試環境,搭建起來了,可以輸出一些調試命令,也可以輸出一些打印信息。

 

        這個芯片的基本資料,在百度網盤分享裏:

            鏈接:https://pan.baidu.com/s/19usUcgZPX8cCRTKt_NPcfg

            密碼:07on

            文件夾:\Stm32CubeMx\Document\Stm32

 

        第一篇:《STM32CubeMx 創建第一個工程

        第二篇:《STM32 Uart及其配置

        第三篇:《STM32 Uart中斷接收

        第四篇:《STM32 Uart DMA方式接收數據

        第五篇:《STM32 Uart 接收變長數據

        第六篇:《STM32 Uart 實現printf函數

        第七篇:《STM32 Uart @調試命令的實現

        第八篇:《STM32 基本定時器

        第九篇:《STM32精準延時

        第十篇:《I2C協議詳解

        第十一篇:《STM32 使用IO口模擬I2C時序

        第十二篇:《STM32 使用硬件I2C接口讀寫EEPROM

      

 

        持續更新中... ... ...

 

        最後,上研發部的鎮部三寶,軟件工程獅不僅要會寫代碼,還要會熟練使用這些工具,用好這三寶,調試沒煩惱。

        寶1:萬用表,萬用的意思就是可量電壓可量電流可測溫度可量電阻等,而且,戳起人來老疼了。一般,我們不用來戳人,我們用來量GPIO的高低電平。

        

        寶2:示波器,特點貴,重。我們一般用來量波形,芯片調不通怎麼辦?不知道是軟件還是硬件問題怎麼辦?視頻信號通不通怎麼辦?上示波器量唄,量時序,對比DataSheet,等等。

        

        寶3:邏輯分析儀,抱歉,我們沒有。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章