stm32F405RGT6pwm实现呼吸灯
时间: 2024-01-19 22:03:40 浏览: 127
以下是使用stm32F405RGT6实现呼吸灯的代码示例:
```c
#include "stm32f4xx.h"
void delay(uint32_t time) {
while(time--);
}
int main(void) {
// 初始化GPIO引脚
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA, &GPIO_InitStructure);
// 呼吸灯效果
while(1) {
for(int i = 0; i < 100; i++) {
GPIO_SetBits(GPIOA, GPIO_Pin_5);
delay(i * 1000);
GPIO_ResetBits(GPIOA, GPIO_Pin_5);
delay((100 - i) * 1000);
}
for(int i = 100; i > 0; i--) {
GPIO_SetBits(GPIOA, GPIO_Pin_5);
delay(i * 1000);
GPIO_ResetBits(GPIOA, GPIO_Pin_5);
delay((100 - i) * 1000);
}
}
}
```
阅读全文