STM32L0 + PA0引脚高电平

时间:2018-03-04 06:37:40

标签: stm32

我不确定,如果这个论坛是发布此类问题的正确位置,但我作为STM32的初学者面临以下问题。 我已将LED连接到核STM32L073RZ板中的PA0引脚。 这是一个main.c代码,我编译和flash board:

#include “stm32l0xx_hal.h” 
int main(void){

volatile uint32_t *GPIOA_MODER=0x0, *GPIOA_ODR=0x0;

GPIOA_MODER = (uint32_t*)0x50000000; //GPIOA MODER Address
GPIOA_ODR = (uint32_t*)(0x50000000+0x14); //GPIOA ODR register 0x14 offset

HAL_Init();
__HAL_RCC_GPIOA_CLK_ENABLE();

*GPIOA_MODER = *GPIOA_MODER | 0x1; // Set MODER[1:0] =0x1 Output Mode
*GPIOA_ODR = *GPIOA_ODR | 0x1; // Set ODR[0]=0x1, Pulls PA0 high
while(1);
}

请建议,我做错了因为LED没有亮。

BR

1 个答案:

答案 0 :(得分:0)

在STM32L0和STM32L4系列中,GPIO引脚在复位时初始化为模拟模式。enter image description here

因此,您应首先清除一些位:

*GPIOA_MODER = (*GPIOA_MODER & ~0x03) | 0x1; // Set MODER[1:0] =0x1 Output Mode