其它任务优先级函数
1.uxTaskPriorityGetFromISR( const TaskHandle_t xTask )
必须将 INCLUDE_uxTaskPriorityGet 定义为 1,此函数才可用。
uxTaskPriorityGetFromISR()` 是 FreeRTOS 中的一个函数,它允许在中断服务例程(ISR)中获取任务的当前优先级。这个函数是安全的,因为它不会在ISR中执行任何可能引起上下文切换的操作。在ISR中,通常需要避免执行可能引起任务切换的操作,因为这可能会影响系统的实时性能。
uxTaskPriorityGetFromISR()
函数只能在ISR中调用,如果在任务代码中调用,会导致编译错误。此外,由于这个函数不会引发任务切换,所以它返回的是任务在调用时的当前优先级,而不是基础优先级。如果你需要获取任务的基础优先级,你应该在任务代码中使用 uxTaskPriorityGet()
函数。
2.uxTaskBasePriorityGet( const TaskHandle_t xTask )
必须将 INCLUDE_uxTaskPriorityGet 和 configUSE_MUTEXES 定义为 1,此函数才可用。
获得任何任务的基本优先级。任务的基本优先级是任务在获取互斥锁时, 为了避免无限优先级倒置而返回到的优先级。
3.uxTaskBasePriorityGetFromISR( const TaskHandle_t xTask )
必须将 INCLUDE_uxTaskPriorityGet 和 configUSE_MUTEXES 定义为 1,此函数才可用。
获得任何任务的基本优先级。任务的基本优先级是任务在获取互斥锁时, 为了避免无限优先级倒置而返回到的优先级。在中断服务程序 (ISR) 中使用此函数是安全的。
该函数用法与uxTaskPriorityGetFromISR( const TaskHandle_t xTask )函数类似。