stm32单片机点亮LED的代码
时间: 2024-11-13 15:15:24 浏览: 20
STM32单片机点亮LED灯
在STM32单片机上点亮LED,通常涉及GPIO配置和中断驱动。这里是一个基础的例子,假设你使用的是标准的HAL库:
```c
#include "stm32f1xx_hal.h"
// LED初始化信息
GPIO_InitTypeDef GPIO_InitStruct;
void ledInit(uint8_t ledPin) {
// 初始化GPIO
GPIO_InitStruct.Pin = ledPin; // 确定LED引脚
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 输出推挽模式
GPIO_InitStruct.Pull = GPIO_NOPULL; // 上拉下拉都不用
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // 低速
HAL_GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct); // LEDGPIO_PORT是你的GPIO组名称
}
void ledOn(uint8_t ledPin) {
HAL_GPIO_WritePin(LED_GPIO_PORT, ledPin, GPIO_PIN_SET); // 设置引脚高电平,点亮LED
}
void ledOff(uint8_t ledPin) {
HAL_GPIO_WritePin(LED_GPIO_PORT, ledPin, GPIO_PIN_RESET); // 设置引脚低电平,关闭LED
}
int main(void) {
ledInit(LED_PIN); // 初始化LED
while (1) {
ledOn(LED_PIN); // 点亮LED
delay_ms(500); // 等待一段时间
ledOff(LED_PIN); // 关闭LED
delay_ms(500); // 再次等待一段时间
}
}
```
这个示例是一个简单的循环,持续交替点亮和熄灭LED。记得将`LED_GPIO_PORT`和`LED_PIN`替换为你实际使用的GPIO端口和对应的LED引脚编号。
阅读全文