stm32二个led灯交替闪烁
时间: 2024-06-17 17:02:52 浏览: 404
您好,要让STM32的两个LED灯交替闪烁,您可以使用以下代码实现:
```c
#include "stm32f10x.h"
void Delay(__IO uint32_t nCount);
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/*开启GPIOB时钟*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/* 配置 PB5 和 PB6 这两个引脚为推挽输出模式 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
while (1)
{
/* 点亮 PB5 的 LED,熄灭 PB6 的 LED */
GPIO_SetBits(GPIOB,GPIO_Pin_5);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
Delay(0x7FFFF);
/* 点亮 PB6 的 LED,熄灭 PB5 的 LED */
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
GPIO_SetBits(GPIOB,GPIO_Pin_6);
Delay(0x7FFFF);
}
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
```
该代码中使用了GPIOB的PB5和PB6两个引脚来控制两个LED灯的状态,利用while循环和Delay函数实现了两个LED灯的交替闪烁。
阅读全文