【STM32HAL库学习】SysTick延时
时间: 2024-10-12 07:14:11 浏览: 45
STM32,延时函数,HAL库可用,包括微秒与毫秒延时
在STM32 HAL库中,SysTick(系统定时器)常用于实现精确的微秒级延时。这里有一个基本的示例[^1]:
1. **启用SysTick**:
```c
// 启用SysTick
HAL_InitTick(1); // 设置SysTick周期为1us (1kHz)
```
2. **配置SysTick Reload值**:
```c
uint32_t tick_period_us = 1000; // 指定1ms延时,即Reload值等于周期数 * 周期长度
SysTick_Config(SystemCoreClock / tick_period_us);
```
3. **等待指定时间**:
```c
while (SysTick_GetCounter() < tick_period_us); // 循环直到达到设定的时间间隔
```
注意,`SystemCoreClock`是STM32芯片的CPU时钟频率,你需要根据具体的STM32型号来替换。
对于更复杂的延时需求,如STM32MP157[^2],可能需要利用其特定的驱动程序和配置选项。该项目提供了预编译的驱动程序以简化开发过程。
阅读全文