STM32F407-点亮LED灯

2023-06-20  

初始化

点亮LED需要首先初始化。这块STM32F4开发板的LED共有4个,都是链接到GPIO上的。具体原理图如下:

图片

可以看到四个端口位置。再由芯片相关图纸可以查阅到LED0和LED1连接到了PF9和PF10

图片

2和3链接到了PE13和PE14。

接着初始化。

STM对于GPIO的初始化提供了一套可以直接使用的初始化结构体。

1.jpg

使用前首先需要打开时钟:

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能 GPIOF 时钟

其中RCC_AHB1Periph_GPIOF的意思是AHB1上的GPIOF时钟。如果一行代码使能E和F时钟则如下所示:

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE | RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOE,GPIOF时钟

定义结构体,然后对于结构体内的各个数据进行定义,最后调用初始化函数,使所有设置生效。这样初始化就完成了

1.jpg

其中第一行中的_9和_10指的是后缀,也就是本组内所有以9和10结尾的IO口都会受影响。第7行中的GPIOF指的是第F组。也就是说,F组中的9,10口参数将被如上所示设置。至于怎么知道是第F或者第E组?我们可以查看pin口标号。PF9和PF10的意思就是GPIO第F组第9个pin和第10个pin。同理PE13和14也是类似的


使用GPIO点亮LED

初始化完成后,想要点亮只需使用GPIO_SetBits函数和GPIO_ResetBits函数即可。前者将指定GPIO口设为低电平,后者设为高电平。使用如下:

GPIO_SetBits(GPIOF,GPIO_Pin_10);

GPIO_ResetBits(GPIOE,GPIO_Pin_14);


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。