stm32开关控制led灯亮灭
时间: 2023-09-28 07:07:39 浏览: 71
可以通过设置 GPIO 端口的状态来控制 LED 灯的亮灭。以下是一个简单的示例代码,假设 LED 灯连接到了 PA5 端口:
```c
#include "stm32f1xx.h"
int main(void)
{
// 使能 GPIOA 时钟
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
// 配置 PA5 为输出模式
GPIOA->CRL &= ~(GPIO_CRL_MODE5 | GPIO_CRL_CNF5);
GPIOA->CRL |= GPIO_CRL_MODE5_0;
while (1)
{
// 将 PA5 置为高电平,LED 灯亮起
GPIOA->BSRR = GPIO_BSRR_BS5;
// 延时一段时间
for (int i = 0; i < 1000000; i++);
// 将 PA5 置为低电平,LED 灯熄灭
GPIOA->BSRR = GPIO_BSRR_BR5;
// 延时一段时间
for (int i = 0; i < 1000000; i++);
}
}
```
在上面的代码中,首先使能了 GPIOA 的时钟,然后配置了 PA5 为输出模式。在主循环中,先将 PA5 置为高电平,等待一段时间后再将其置为低电平,再等待一段时间,然后不断循环这个过程,就可以实现 LED 灯的周期性亮灭了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)