hal库的delay时钟树
时间: 2023-08-29 19:10:05 浏览: 71
根据引用\[1\]和引用\[2\],HAL_Delay()函数是使用SysTick定时器来实现延时的。SysTick定时器是一个用于生成定时中断的定时器。在默认实现中,SysTick定时器是时间基准的来源,它以固定的时间间隔触发中断,每次中断时,变量uwTick会自增。而HAL_Delay()函数则是通过比较当前的uwTick值和延时时间来实现延时的。当uwTick的值达到指定的延时时间时,延时结束。
根据引用\[3\],HAL_Delay()函数涉及到了中断。从中断优先级的角度出发,SysTick定时器的抢占优先级默认是最低的。因此,如果有其他外设的优先级与SysTick定时器的优先级设置相同,可能会导致延时不准确。
综上所述,HAL_Delay()函数是使用SysTick定时器来实现延时的,但由于中断优先级的设置可能会影响延时的准确性。
#### 引用[.reference_title]
- *1* [STM32HAL库——HAL_Delay()函数实现原理](https://blog.csdn.net/qq_53003541/article/details/125118814)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [STM32HAL工程中HAL_delay函数卡死问题](https://blog.csdn.net/weixin_55169194/article/details/128019083)[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^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文