hal库配置delay
时间: 2023-10-19 09:07:58 浏览: 107
HAL库提供了延时函数,但是它只能实现简单的毫秒级别延时,没有实现微秒级别延时。在HAL库中,我们可以使用systick来实现延时功能。systick是一个系统定时器,可以配置为每隔一定时间触发一次中断。通过重写systick的配置函数,我们可以实现微秒级别的延时。具体的配置方法是调用HAL_SYSTICK_Config函数配置每隔1ms中断一次。
在重写基于systick的延时函数之后,HAL库自带的HAL_Delay就不再适用了。如果程序中仍然存在HAL_Delay()函数的调用,程序在运行时会卡在这里。因此,在使用重写的延时函数时,请务必不要同时使用HAL_Delay()函数。
综上所述,要配置HAL库中的延时功能,我们可以使用systick来实现微秒级别的延时,并在重写延时函数后不再使用HAL_Delay()函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [HAL库下的systick 底层配置 HAL_Delay实现原理 微秒级延时(非中断)以及一些重写延时的小坑 关于HAL_Delay...](https://blog.csdn.net/m0_52521883/article/details/115534058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [STM32 HAL 库延时函数 HAL_Delay 解析](https://download.csdn.net/download/weixin_38610815/14031316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文