和stm32的GPIO相關的寄存器有
(1)兩個32位的配置寄存器(GPIOX_CRL,GPIOX_CRH)
每一個IO占用4位,16個IO占用64位就是兩個32為寄存器。
其中CNF[1:0]是用來配置模式的,其定義如下
MODE[1:0]是用來配置輸入輸出模式及輸出模式下的端口速率的
(2)端口輸入數據寄存器(GPIOX_IDR)
其中高16位是保留的,低十六位對應着16個IO口的數據位。
(3)端口輸出數據寄存器(GPIOX_ODR)
其中高16位是保留的,低十六位對應着16個IO口的數據位。
(4)端口位設置/清除寄存器(GPIOX_BSRR)
其中的每一位的定義如下:
(5)端口位清除寄存器(GPIOX_BRR)
前面的16位是保留的,后面的十六位的定義如下:
感覺不理解的是上面已經有一個端口位設置/清除寄存器了,怎么還要獨立的一個端口清除寄存器()
(6)端口配置鎖定寄存器(GPIOX_LCKR)





