stm32跑马灯led.c和led.h代码
时间: 2024-02-27 11:54:16 浏览: 67
以下是一个简单的 STM32 跑马灯 LED 的代码,包含 led.c 和 led.h 两个文件。
led.h 文件:
```c
#ifndef __LED_H
#define __LED_H
#include "stm32f10x.h"
#define LED_GPIO_PORT GPIOC
#define LED_GPIO_PIN GPIO_Pin_13
#define LED_GPIO_CLK RCC_APB2Periph_GPIOC
void LED_Init(void);
void LED_On(void);
void LED_Off(void);
void LED_Toggle(void);
#endif /* __LED_H */
```
led.c 文件:
```c
#include "led.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(LED_GPIO_CLK, ENABLE);
GPIO_InitStructure.GPIO_Pin = LED_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(LED_GPIO_PORT, &GPIO_InitStructure);
}
void LED_On(void)
{
GPIO_SetBits(LED_GPIO_PORT, LED_GPIO_PIN);
}
void LED_Off(void)
{
GPIO_ResetBits(LED_GPIO_PORT, LED_GPIO_PIN);
}
void LED_Toggle(void)
{
LED_GPIO_PORT->ODR ^= LED_GPIO_PIN;
}
```
使用这个代码,你可以通过调用 `LED_Init()` 初始化 LED,并通过调用 `LED_On()` 打开 LED,`LED_Off()` 关闭 LED,或者 `LED_Toggle()` 切换 LED 的状态。需要注意的是,这个代码是针对 STM32F103C8T6 开发板的,如果你使用的是其他的 STM32 开发板,可能需要修改一些参数才能正常运行。
阅读全文