写一段MCU STM32 103驱动LED亮的代码
时间: 2024-09-13 11:13:44 浏览: 80
STM32F103C8T6配套程序源码-1位数码管显示.zip_stm321位数码管_stm32f103 数码管
当然可以。以下是使用STM32F103微控制器(MCU)通过GPIO控制LED灯的基本代码示例。假设我们有一个LED连接到PB0引脚:
```c
#include "stm32f10x.h" // 引入STM32的标准头文件
// 定义LED相关的宏
#define LED_PIN GPIO_Pin_0 // PB0引脚对应LED
#define LED_PORT GPIOA // LED所在的GPIO端口
void led_on(void) {
// 设置GPIO模式为推挽输出
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // 启动GPIOA时钟
GPIO_InitTypeDef GPIO_InitStructure; // GPIO配置结构体
GPIO_InitStructure.GPIO_Pin = LED_PIN; // 配置LED引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 高速
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // push-pull类型
GPIO_Init(LED_PORT, &GPIO_InitStructure); // 初始化GPIO
// 开启LED
GPIO_SetBits(GPIOA, LED_PIN); // 将LED设置为高电平,即点亮
}
void led_off(void) {
// 关闭LED
GPIO_ResetBits(GPIOA, LED_PIN); // 将LED设置为低电平,即熄灭
}
int main(void) {
while (1) {
led_on(); // 点亮LED
// ...其他操作...
led_off(); // 熄灭LED
delay_ms(500); // 暂停一段时间
}
return 0;
}
```
阅读全文