首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >核心板上的PA5指示灯不能闪烁

核心板上的PA5指示灯不能闪烁
EN

Stack Overflow用户
提问于 2020-01-29 23:41:12
回答 1查看 426关注 0票数 0

你能帮我找出哪里出了错吗?LED在PA5端口上。

代码语言:javascript
复制
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);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-02-03 01:36:13

在微控制器上,引脚具有多种功能,启用哪种功能必须通过软件配置,有时还需要通过硬件配置(将引脚拉到VCC或GND等)。STM32L073xZ的PA5具有替代功能,请参阅第39页和第45页的数据表(https://www.mouser.de/datasheet/2/389/stm32l073v8-956245.pdf),Nucleo L073RZ上的单片机封装为LQFP64,参见第64页的https://www.st.com/content/ccc/resource/technical/document/user_manual/98/2e/fa/4b/e0/82/43/b7/DM00105823.pdf/files/DM00105823.pdf/jcr:content/translations/en.DM00105823.pdf中的Nucleo原理图(https://www.st.com/content/ccc/resource/technical/document/reference_manual/2f/b9/c6/34/28/29/42/d2/DM00095744.pdf/files/DM00095744.pdf/jcr:content/translations/en.DM00095744.pdf)。

我不知道您是否在其余代码中启用了备用函数,但是这可能是问题的核心。你发布的代码部分是准确的,在https://github.com/TechBreiteneder/00_GPIO_BlinkLED/blob/master/Src/main.c中是一个CubeMX项目中的发光二极管闪烁代码。因此,您可能在引脚PA5上启用了备用功能,此外,您还必须启用时钟系统等其他组件,才能使单片机工作。cf https://riptutorial.com/stm32/example/25059/first-time-setup-with-blink-led-example-using-sw4stm32-and-hal-library。因此,如果不知道MCU的配置,就很难说出错误在哪里……

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

代码语言:javascript
复制
/*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN5, GPIO_PIN_RESET);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59970599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档