STM32F407VE按键控制led闪烁
时间: 2023-08-16 22:03:45 浏览: 96
好的,下面是实现按键控制 LED 闪烁的 STM32F407VE 代码:
```c
#include "stm32f4xx.h"
void delay(int ms) {
for (int i = 0; i < ms; i++) {
for (int j = 0; j < 20000; j++);
}
}
int main(void) {
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; //使能GPIOA时钟
GPIOA->MODER |= GPIO_MODER_MODE5_0; //将PA5设置为输出模式
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; //使能GPIOC时钟
GPIOC->MODER &= ~GPIO_MODER_MODE13; //将PC13设置为输入模式
while (1) {
if ((GPIOC->IDR & GPIO_IDR_ID13) == 0) { //如果PC13按键按下
GPIOA->BSRR |= GPIO_BSRR_BS5; //PA5引脚输出高电平
delay(500); //延时500ms
GPIOA->BSRR |= GPIO_BSRR_BR5; //PA5引脚输出低电平
delay(500); //延时500ms
}
}
}
```
代码含义:
1. 使能 GPIOA 和 GPIOC 时钟
2. 将 PA5 引脚设置为输出模式
3. 将 PC13 引脚设置为输入模式
4. 在无限循环中,如果 PC13 按键按下,则 PA5 引脚输出高电平,延时 500ms,PA5 引脚输出低电平,延时 500ms,然后重新开始循环。
希望这个代码对你有所帮助!
阅读全文