c - STM32F401RE Nucleo 板,无法切换用户 LED

标签 c microcontroller stm32 stm32f4 nucleo

我正在尝试弄清楚如何切换 Nucleo 板上的 LED,但我只是看不到用户 LED 切换。在线查看似乎这就是您所要做的。有没有其他人遇到过这个问题?

#include "stm32f4xx.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_rcc.h"

int main(void)
{
    int counter = 0;
    SystemInit();

    GPIO_InitTypeDef temp;
    temp.GPIO_Mode = GPIO_Mode_OUT;
    temp.GPIO_OType = GPIO_OType_PP;    // Push Pull
    temp.GPIO_Pin = GPIO_Pin_5;
    temp.GPIO_Speed = GPIO_Low_Speed;
    temp.GPIO_PuPd = GPIO_PuPd_NOPULL;

    RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

    GPIO_Init( GPIOA, &temp );

    while( 1 )
    {
        if ( counter++ > 10000 )
        {
            GPIO_ToggleBits( GPIOA, GPIO_Pin_5 );
            counter = 0;
        }
    }
}

最佳答案

你必须写

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

为了启用 GPIOA。

关于c - STM32F401RE Nucleo 板,无法切换用户 LED,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51220353/

相关文章:

嵌入式世界中的 C 文件函数

c - 将 100MHz 计数器转换为毫秒的定点数学

stm32 - 如何在代码本身中找出闪存的大小?

c - 用C语言编写STM32L1系列的自定义bootloader

c - __TIME__ 预处理器宏是否保证在文件中保持不变?

c - 为什么 %[^\n]s 在循环中不起作用?

c# - 对 PInvoke 函数 xxx 的调用使堆栈不平衡

c - 将代码从 PIC18F2480 迁移到 PIC18F2680 单片机

c - STM32F207 I2C 测试失败

c - 我们如何使用 C 程序检查传递给磁盘驱动程序的缓冲区是否扇区对齐?