STM32 电源指示灯代码
时间: 2024-10-12 07:00:58 浏览: 36
基于STM32的智能灯设计 带手动控制、自动控制pwm调光
5星 · 资源好评率100%
STM32 的电源指示灯通常用于显示系统是否上电或处于正常工作状态。在嵌入式开发中,这通常是通过GPIO口配置为输入模式,并连接到电源LED上来实现的。以下是一个简单的示例代码片段,使用Keil MDK for STM32编写的C语言代码:
```c
#include "stm32f10x.h" // 引入STM32F10x系列的头文件
// 定义电源指示灯引脚
#define LED_PIN GPIO_Pin_13 // 泡沫图所示假设是GPIOA的Pin 13
#define LED_GPIO_PORT GPIOA // GPIO端口
void init_LED(void) {
// 初始化GPIOA为推挽输出模式,设置LED_PIN为输入
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // 启动GPIOA时钟
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = LED_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; // 设置为浮空输入
GPIO_Init(LED_GPIO_PORT, &GPIO_InitStructure);
}
void led_status(uint8_t status) {
if (status == HIGH) {
GPIO_PinWrite(LED_GPIO_PORT, LED_PIN, GPIO_PIN_SET); // 点亮LED
} else {
GPIO_PinWrite(LED_GPIO_PORT, LED_PIN, GPIO_PIN_RESET); // 关闭LED
}
}
int main(void) {
init_LED();
// 模拟上电状态改变
while (1) {
led_status(GPIO_ReadInputDataBit(LED_GPIO_PORT, LED_PIN)); // 根据GPIO的状态更新LED
delay_ms(500); // 暂停一段时间
}
return 0;
}
阅读全文