UCOS 如果阻塞延时的阻塞都是使用SysTick实现的,那么如果有多个任务都需要阻塞延时那么程序是否会跑飞呢
如果多个任务都需要使用SysTick阻塞延时,可能会出现程序异常情况。因为SysTick是基于硬件的定时器,在多个任务同时使用时,容易出现因为中断优先级问题而导致阻塞延时的异常而影响任务的正常执行。为了解决这个问题,可以考虑使用操作系统提供的延时函数,避免直接使用SysTick阻塞延时。
如果必须要使用SysTick进行阻塞延时,可以通过禁止中断,避免中断优先级引起的影响,但是这样会影响其他任务的正常运行。因此,应该尽量避免在多个任务中使用SysTick进行阻塞延时,或者采用其他可靠的延时方式,如使用操作系统提供的定时器。