STM32F411实现两个 LED 交替点亮功能
时间: 2024-05-12 15:20:19 浏览: 11
以下是使用STM32F411实现两个LED交替点亮功能的代码示例:
```c
#include "stm32f4xx.h"
int main(void)
{
// 初始化GPIO
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6; // PA5和PA6
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);
while(1)
{
GPIO_SetBits(GPIOA, GPIO_Pin_5); // 点亮PA5
GPIO_ResetBits(GPIOA, GPIO_Pin_6); // 熄灭PA6
Delay(1000000); // 延时
GPIO_ResetBits(GPIOA, GPIO_Pin_5); // 熄灭PA5
GPIO_SetBits(GPIOA, GPIO_Pin_6); // 点亮PA6
Delay(1000000); // 延时
}
}
void Delay(__IO uint32_t nCount)
{
while(nCount--)
{
}
}
```
在以上代码中,我们首先初始化了GPIO,将PA5和PA6设置为输出模式。然后在主循环中不断交替点亮和熄灭这两个LED,使用`Delay()`函数延时一段时间,实现交替点亮的效果。
需要注意的是,`Delay()`函数中的延时时间需要根据实际情况进行调整,否则可能会出现交替点亮的效果不明显或者无法看到的情况。