1使能IO口時鐘,配置相關寄存器RCC->AHB1ENR
2初始化IO口模式。配置四個寄存器GPIOX_MODER/GPIOX_OTYPER/OSPEEDER/PUPDR
3操作IO口,輸出高低電平。配之寄存器GPIOX_ODR或BSRRL/BSRRH
1:RCC是一個結構體指針RCC->AHB1ENR使能寄存器AHB1,使能外部時鐘第六位,位5,及設置這一位為1 ,c語言中利用或運算A|=B相當于A=A|B,32位及寄存器兩種寫法:1)RCC->AHB1ENR|=0x0020
2)RCC->AHB1ENR|=1<<5;1左移5位比較直觀
2:GPIOF->MODER=
32位寄存器,一組寄存器對應16個IO口,所以要配置9和10IO口,第一步配置pin9的時候相當于對MODER的第18和19位進行配置因為模式為通用輸出,所以配置為01其他位不變,想把其清零然后與01 進行或運算,采用簡單方法,將3左移18位
GPIOF->MODER&=~(3<<(2*9));
GPIOF->MODER|=1<<(2*9);
同樣的原理配置Pin相應的寄存器,同理參照手冊知ODR寄存器僅用到低16位,所以對其進行配置即可,以上123步已經(jīng)完成。
接下來書寫主函數(shù)部分,頭文件包絡#include "stm32f4xx.h"#include"led.h"用到延時函數(shù)所以include“delay.h”然后寫主函數(shù)