能否提供一个STM32单片机控制LED亮灯的基本C语言编程示例代码?
时间: 2024-10-19 08:12:44 浏览: 26
STM32单片机C语言模块化编程实战:LED控制详解与示例
当然可以。这是一个简单的STM32F103C8T6单片机控制GPIO口点亮LED的例子,假设我们使用的是PA0作为LED的正极:
```c
#include "stm32f10x.h" // 包含STM32的头文件
// 定义LED GPIO口地址和引脚
#define LED_PIN GPIO_Pin_0
#define LED_PORT GPIOA
int main(void) {
// 初始化GPIO
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // 启动GPIOA时钟
GPIO_InitTypeDef GPIO_InitStructure;
// 配置LED GPIO为推挽输出模式
GPIO_InitStructure.GPIO_Pin = LED_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // Push-Pull输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(LED_PORT, &GPIO_InitStructure);
while (1) { // 无限循环
// 点亮LED
GPIO_SetBits(LED_PORT, LED_PIN);
delay_ms(1000); // 暂停1秒让LED闪烁
// 关闭LED
GPIO_ResetBits(LED_PORT, LED_PIN);
delay_ms(1000); // 再次暂停1秒
}
}
阅读全文