用stm32f407寄存器点亮流水灯的代码
时间: 2023-10-23 15:11:01 浏览: 101
以下是使用STM32F407寄存器点亮流水灯的示例代码:
```c
#include "stm32f4xx.h"
void delay(int time) {
while(time--);
}
int main() {
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOD, &GPIO_InitStruct);
while(1) {
GPIOD->BSRR = 0xF000; // set PD12~15 high
delay(1000000);
GPIOD->BSRR = 0xF0000000; // set PD12~15 low
delay(1000000);
}
}
```
这段代码使用了STM32F407的寄存器来设置GPIOD的12~15引脚为输出模式,并且以60Hz的频率点亮四个LED灯,形成流水灯效果。
阅读全文