起因 我在中断中使用HAL_Delay函数,当进入中断时,程序卡死无反应,我百思不得其解,在去除HAL_Delay后程序恢复正常。 我在观看HAL_Delay相关程序发现,HAL_Delay是通过滴答定时器的中断进行延迟。 进而我查找滴答定时器相关初始化发现,在程序初始化时默认把滴答定时器的中断优先级设为最低。 解决方法 直接提高滴答定时器的优先级,但是所要用到HAL_Delay延时的中断的优先级,不可以高于或等于滴答定时器的抢占优先级。