osPriority_t - приоритет потока / задачи в CMSIS-RTOS2
Значение приоритета выполнения задачи. По умолчанию приоритет выполнениявновь созданной задачи - osPriorityNormal.
/// Priority values.
typedef enum {
osPriorityNone = 0, /// No priority (not initialized).
osPriorityIdle = 1, /// Reserved for Idle thread.
osPriorityLow = 8, /// Priority: low
osPriorityLow1 = 8+1, /// Priority: low + 1
osPriorityLow2 = 8+2, /// Priority: low + 2
osPriorityLow3 = 8+3, /// Priority: low + 3
osPriorityLow4 = 8+4, /// Priority: low + 4
osPriorityLow5 = 8+5, /// Priority: low + 5
osPriorityLow6 = 8+6, /// Priority: low + 6
osPriorityLow7 = 8+7, /// Priority: low + 7
osPriorityBelowNormal = 16, /// Priority: below normal
osPriorityBelowNormal1 = 16+1, /// Priority: below normal + 1
osPriorityBelowNormal2 = 16+2, /// Priority: below normal + 2
osPriorityBelowNormal3 = 16+3, /// Priority: below normal + 3
osPriorityBelowNormal4 = 16+4, /// Priority: below normal + 4
osPriorityBelowNormal5 = 16+5, /// Priority: below normal + 5
osPriorityBelowNormal6 = 16+6, /// Priority: below normal + 6
osPriorityBelowNormal7 = 16+7, /// Priority: below normal + 7
osPriorityNormal = 24, /// Priority: normal
osPriorityNormal1 = 24+1, /// Priority: normal + 1
osPriorityNormal2 = 24+2, /// Priority: normal + 2
osPriorityNormal3 = 24+3, /// Priority: normal + 3
osPriorityNormal4 = 24+4, /// Priority: normal + 4
osPriorityNormal5 = 24+5, /// Priority: normal + 5
osPriorityNormal6 = 24+6, /// Priority: normal + 6
osPriorityNormal7 = 24+7, /// Priority: normal + 7
osPriorityAboveNormal = 32, /// Priority: above normal
osPriorityAboveNormal1 = 32+1, /// Priority: above normal + 1
osPriorityAboveNormal2 = 32+2, /// Priority: above normal + 2
osPriorityAboveNormal3 = 32+3, /// Priority: above normal + 3
osPriorityAboveNormal4 = 32+4, /// Priority: above normal + 4
osPriorityAboveNormal5 = 32+5, /// Priority: above normal + 5
osPriorityAboveNormal6 = 32+6, /// Priority: above normal + 6
osPriorityAboveNormal7 = 32+7, /// Priority: above normal + 7
osPriorityHigh = 40, /// Priority: high
osPriorityHigh1 = 40+1, /// Priority: high + 1
osPriorityHigh2 = 40+2, /// Priority: high + 2
osPriorityHigh3 = 40+3, /// Priority: high + 3
osPriorityHigh4 = 40+4, /// Priority: high + 4
osPriorityHigh5 = 40+5, /// Priority: high + 5
osPriorityHigh6 = 40+6, /// Priority: high + 6
osPriorityHigh7 = 40+7, /// Priority: high + 7
osPriorityRealtime = 48, /// Priority: realtime
osPriorityRealtime1 = 48+1, /// Priority: realtime + 1
osPriorityRealtime2 = 48+2, /// Priority: realtime + 2
osPriorityRealtime3 = 48+3, /// Priority: realtime + 3
osPriorityRealtime4 = 48+4, /// Priority: realtime + 4
osPriorityRealtime5 = 48+5, /// Priority: realtime + 5
osPriorityRealtime6 = 48+6, /// Priority: realtime + 6
osPriorityRealtime7 = 48+7, /// Priority: realtime + 7
osPriorityISR = 56, /// Reserved for ISR deferred thread.
osPriorityError = -1, /// System cannot determine priority or illegal priority.
osPriorityReserved = 0x7FFFFFFF /// Prevents enum down-size compiler optimization.
} osPriority_t;
Зарезервированные приоритеты
osPriorityIdle
Самый низкий приоритет. Зарезервирован для задачи "простоя" (Idle thread) и не должен использоваться никакой другой задачей.
osPriorityISR
Самый высокий приоритет. Используется RTOS для процедур обработки прерываний и не должен использоваться никакой пользовательской задачей.
osPriorityError
Ошибочный приоритет у задачи. Задан неверный приоритет для задачи или система не может его определить.
osThreadReserved
Зарезервировано. Не используется.
Предотвращает оптимизацию перечисления компилятором (в попытке уменьшения размера перечисления).