謝謝邀請,我是大學讀的電子信息工程,最開始也是學習的51單片機,用51單片機做過幾個小實驗,畢業后,工作需要,做過半年AVR,然后又因為項目需要,就轉到stm32單片機了,當時學習STM32是自學摸索,所以在學習STM32,我有自己的看法。
STM32的固件庫,除了啟動文件.S
文件,其他的底層,其實是使用寄存器地址,映射到相關的位置,然后使用結構體定義,用指針替代,最后形成對應的寄存器,比如GPIOE->ODR,固件庫再以此進行操作寄存器操作,封裝成函數,并將相同外設的多個函數放到相同的.c的文件中.
總結固件庫用法,主要是對結構體的變量進行賦值,將賦值好的結構進行初始化函數運算.調用各類合適的函數.并在此基礎上,完成自己需要的代碼功能處理,
對于自學者來說,尤其是從51單片機轉過來的自學者來說,習慣了51單片機操作寄存器配置,學習stm32固件庫是比較不習慣和困難的,尤其是對于C語言的指針和結構體理解不夠透徹的同學,更有難度。
所以我學stm32,最初是學習的stm32f1系列的寄存器。
前提條件是,需要stm32一塊開發板,有jlink燒錄器,搭建好能夠開發stm32的keil的開發環境。能仿真操作。
1,學習IO端口的普通輸入輸出的操作
2,學習串口操作,串口數據的輸入輸出,以方便有利于調試
3學習ADC,進行模擬量采集,比如電池電量
4學習SPI,
5學習片上FLASH存儲
6學習以太網,
7學習USB
8...
學無止境,要學的很多,我覺得學習STM32從0-1最難,找到辦法后,后續的學習就是按部就班,費時間努力去學就可以了,
以上是問題的粗略解答,難免會有遺漏
希望大家留言,點贊,轉發,關注