Stm32 无法闪烁核仁板上的PA5指示灯

Stm32 无法闪烁核仁板上的PA5指示灯,stm32,nucleo,st,Stm32,Nucleo,St,你能帮我找出我在哪里犯的错误吗?指示灯位于PA5端口上 int main(void){ HAL_Init(); SystemClock_Config(); GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; G

你能帮我找出我在哪里犯的错误吗?指示灯位于PA5端口上

int main(void){
    HAL_Init();
    SystemClock_Config();
    GPIO_InitTypeDef GPIO_InitStruct;
    __HAL_RCC_GPIOA_CLK_ENABLE();

    GPIO_InitStruct.Pin = GPIO_PIN_5;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);

    while(1){
        HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
        HAL_Delay(5000);
    }
}

在微控制器上,引脚具有多种功能,启用的功能必须通过软件配置,有时还必须通过硬件配置(将引脚拉至VCC或GND…)PA5具有替代功能,这在第39页和第45页的数据表()中,核仁L073RZ上的MCU包为LQFP64,参见第64页的核仁示意图()

我不知道您是否在代码的其余部分启用了备用函数,但这可能是问题的核心。您发布的代码部分是准确的,在CubeMX项目中是LED闪烁代码。因此,您可能在引脚PA5上启用了一个备用功能,此外,您还必须启用其他组件,如时钟系统,以便MCU能够正常工作,cf。因此,在不知道MCU配置的情况下,很难说出错误在哪里

您应该做的是在切换某些内容之前设置一个已定义的初始状态,但我认为这不是问题所在

/*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN5, GPIO_PIN_RESET);

哪个核子板?具体是哪个MCU?顺便说一句,这与你之前的帖子有关?留言板是:核子L073RZ