stm32 LL库中 ,类似于HAL_Delay的函数是哪个?
时间: 2024-02-24 10:54:59 浏览: 51
在STM32的LL库中,类似于HAL_Delay的函数是LL_mDelay函数。它的原型定义如下:
```
void LL_mDelay(uint32_t Delay);
```
该函数用于阻塞程序执行,使程序暂停指定的时间。参数Delay是以毫秒为单位的延迟时间。注意,该函数不是精确的延迟函数,延迟时间可能会受到其他中断的影响。如果需要更精确的延迟,请使用定时器中断或其他更高级的技术。
相关问题
stm32中断函数里面可以使用hal_delay函数吗
在 STM32 中断函数中使用 HAL_Delay 函数是不推荐的,因为 HAL_Delay 函数是一个延时函数,在执行期间会阻塞 CPU,导致中断处理时间延迟,可能会影响系统的实时性能。在中断服务程序中应该尽量避免使用延时函数,并尽可能地减少中断处理时间。如果需要延时操作,可以使用定时器或者其他硬件资源来实现。
STM32的标准库中的延迟函数是?对标HAL_Delay
在STM32的标准库中,延迟函数是使用SysTick定时器实现的,具体函数是`Delay()`。它的原型定义如下:
```c
void Delay(__IO uint32_t nTime);
```
其中,参数`nTime`表示需要延迟的时间,单位为毫秒。在函数内部,使用了SysTick定时器来实现延迟,具体实现方式如下:
```c
void Delay(__IO uint32_t nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
}
```
其中,`TimingDelay`是一个全局变量,它在SysTick中断服务函数中被递减。当`TimingDelay`为0时,表示延迟时间已经达到,函数返回。
需要注意的是,STM32的标准库中的延迟函数不是精确的延迟函数,因为它的实现方式是基于SysTick定时器的中断服务函数,而中断服务函数的执行时间是不确定的,因此延迟时间也会有一定的误差。如果需要精确的延迟时间,建议使用定时器或者外部时钟源来实现延迟。对标HAL_Delay函数,在HAL库中也是使用SysTick定时器来实现延迟的。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)