STM32在發售之初,也同步開發了一套固件開發包,其中包含了STM32開發所需要的所有底層操作系統,在加入這個開發包后,開發人員可以從寄存器的復雜操作中抽身,將全部精力投入到開發應用程序上。
但從51或者AVR轉而開發STM32的人員來說,這一過程是需要適應的,因為目前的開發不再以寄存器為基礎開始,而是需要數據STM32的固件庫,而STM32的寄存器規模龐大,會耗費相當多的時間去分析。并且對于后期的程序的維護也是不利的。我們將通過分析一個STM32庫函數來幫助大家進一步理解。
這段GPIO初始化程序是在STM32開發過程當中經常用到的,主要用于將GPIOA.4口初始化為推挽輸出狀態,并將最大翻轉速率為調整為50MHz。下面逐一分解: