写一个STM32的times函数实现3次点亮LED
时间: 2024-04-30 14:22:42 浏览: 49
以下是一个简单的STM32的times函数实现3次点亮LED的代码:
```c
#include "stm32f10x.h"
void delay(uint32_t time_ms) {
uint32_t i;
for (i = 0; i < (time_ms * 8000); i++) {}
}
int main(void) {
// 初始化LED
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStruct);
int i;
for (i = 0; i < 3; i++) {
// 点亮LED
GPIO_SetBits(GPIOC, GPIO_Pin_13);
// 延时1秒
delay(1000);
// 熄灭LED
GPIO_ResetBits(GPIOC, GPIO_Pin_13);
// 延时1秒
delay(1000);
}
while (1) {}
}
```
这个程序使用STM32的定时器来实现延时。程序进入main函数后,先初始化了LED的GPIO口,然后通过for循环点亮LED三次,每次点亮和熄灭LED之间都延时1秒钟。最后程序进入while循环,防止程序退出。
阅读全文