✅ ux 的含义(FreeRTOS官方编码规范)
uxTaskPriorityGet:
- u = unsigned(无符号)
- x = BaseType_t 家族类型(可移植的原生类型) 合起来:ux = UBaseType_t(无符号的 BaseType_t)
这个前缀代表函数返回值类型:UBaseType_t uxTaskPriorityGet(…),返回任务优先级,是一个无符号、和平台字宽匹配的类型(32位MCU上一般是uint32_t)
配套记忆:FreeRTOS API 前缀总表(非常好记)
| v | void,无返回 | vTaskDelay()、vTaskDelete() |
| x | BaseType_t(有符号) | xTaskCreate()、xQueueReceive() |
| ux | UBaseType_t(无符号) | uxTaskPriorityGet()、uxTaskGetStackHighWaterMark() |
| pv | void* 空指针 | pvTaskGetThreadLocalStoragePointer() |
| pc | char* 字符串指针 | pcTaskGetName() |
| ul | uint32_t | ulTaskGetRunTimeCounter() |
| prv | 静态私有函数(不是API) | prvSomething() |
规律一句话:API函数前缀 = 返回值类型标记,后面跟着模块名 Task / Queue / Semaphore / Timer,再跟动作 Get / Create / Delete
举一组对照,一眼看懂:
- vTaskPrioritySet():设置优先级,无返回(v)
- uxTaskPriorityGet():读取优先级,返回UBaseType_t(ux)
补充:为什么要搞 x / BaseType_t,不用标准uint?
BaseType_t 是可移植层封装:它是当前CPU最自然、最高效的整型。
- 8位机:BaseType_t 8bit
- 16位机:BaseType_t 16bit
- 32位Cortex-M:BaseType_t 32bit UBaseType_t 就是它对应的无符号版本,所以用 x 标记这一类“平台自适应类型”,再加 u 表示无符号 → ux
记忆小技巧
看到 ux 开头的API:
返回值是无符号、平台原生宽度的整数,一般用来返回:优先级、数量、栈水位、任务总数这类非负数。




