在RTOS中有两个函数至关重要分别是PendSV_Handler和SysTick_Handler。SysTick_Handler嘀嗒定时器中断这个中断作为操作系统的心脏给操作系统提供心跳在中断服务中提供上下文切换和任务调度工作如下图但是这样可能会出现以下错误这么解决这个问题呢就使用SysTick_Handler触发PendSV_Handler在PendSV_Handler里处理上下文切换如下图关于这两个中断的优先级PendSV_Handler设置成最低没什么好说的。SysTick_Handler有的不设置或者设成最高这样OS的实时性会好点也可以精准延时。在外部中断中出现依赖SysTick的类似HAL_Delay()这样的延时函数也不会卡死。但像FreeRTOS或有一版的RT-Thread就把SysTick中断优先级设成最低这种情况也挺普遍。。。这种项目对实时性要求不高但更强调对外设中断的响应同时外设中断服务不会被打断简化设计有利于系统稳定。详细见Cortex-M3权威指南(中文).pdf第121页实时性强调的是在规定的时间内完成操作