stm32hal库例子
时间: 2024-10-25 19:18:03 浏览: 18
stm32 hal库 激光测距模块ToF 串口版本
STM32 HAL库(Hardware Abstraction Layer)是STMicroelectronics提供的一个软件框架,用于简化STM32系列微控制器的硬件访问。它提供了一系列预编写的驱动函数,开发者可以直接调用这些函数来控制GPIO、定时器、串口、ADC等外设,而无需深入了解底层硬件细节。
例如,在使用STM32 HAL时,你可以写一个简单的程序来配置LED灯:
```c
#include "stm32f10x_hal.h"
void led_blink(void) {
GPIO_InitTypeDef GPIO_InitStruct;
// 初始化GPIO资源
GPIO_InitStruct.Pin = GPIO_PIN_1; // 设定LED引脚
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
for (int i = 0; i < 5; ++i) {
// 开启LED
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
HAL_Delay(1000); // 等待1秒
// 关闭LED
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);
HAL_Delay(1000); // 再等待1秒
}
}
int main() {
// 其他初始化步骤...
led_blink(); // 调用led_blink函数
while (1); // 无限循环,表示程序不再退出
}
```
阅读全文