STM32使用__disable_irq()后就无法使用HAL_Delay(xx),这是为什么? __enable_irq();//打开所有中断但实际应用中发现,当使用__disable_irq(); 关闭所有中断后,再用__enable_irq();打开所有中断,就会出现HAL_Delay(xx)不能再使用,所以直接用上述方式也不可取。那么,究竟该如何正确地的关闭和开启SysTick的中断...
HAL_Delay()是STM32 HAL库中的一个函数,用于产生延时。 为什么不能在ISR中使用HAL_Delay(): HAL_Delay()函数依赖于SysTick定时器来实现延时功能。在ISR中调用HAL_Delay()会导致SysTick定时器被阻塞,进而影响系统的实时性和其他中断的处理。 原因分析: SysTick定时器的特性:SysTick定时器是系统滴答定时器...