STM32F407配置寄存器(配置GPIO寄存器的例子)

STM32F407中,有一个结构体控制引脚的高低电平:GPIOX(x(A, G)

typedefstruct

{

  __IO uint32_t MODER;    /*!< GPIO port mode register,               Address offset: 0x00      */

  __IO uint32_t OTYPER;   /*!< GPIO port output type register,        Address offset: 0x04      */

  __IO uint32_t OSPEEDR;  /*!< GPIO port output speed register,       Address offset: 0x08      */

  __IO uint32_t PUPDR;    /*!< GPIO port pull-up/pull-downregister,  Address offset: 0x0C      */

  __IO uint32_t IDR;      /*!< GPIO port input dataregister,         Address offset:0x10      */

  __IO uint32_t ODR;      /*!< GPIO port output dataregister,        Address offset:0x14      */

  __IO uint16_t BSRRL;    /*!< GPIO port bit set/reset lowregister,  Address offset: 0x18      */

  __IO uint16_t BSRRH;    /*!< GPIO port bit set/reset highregister, Address offset: 0x1A      */

  __IO uint32_t LCKR;     /*!< GPIO port configuration lockregister, Address offset: 0x1C      */

  __IO uint32_t AFR[2];   /*!< GPIO alternate functionregisters,     Address offset: 0x20-0x24*/

}GPIO_TypeDef;

 

在配置寄存器中,比如要配置PD11~PD14这四个引脚为输出:

资料上信息:

STM32F407配置寄存器(配置GPIO寄存器的例子)_第1张图片

 

其中PD11~PD15中的位即是31位至24位,可以看到,两位控制一个引脚,01代表输出模式。则要完成上述功能,则此位该配置为:0101 0101 0000 0000, u8为:0x55000000
GPIOD->MODER = 0x55000000

 

你可能感兴趣的:(硬件)