欢迎光临
我们一直在努力

FreeRTOS API 前缀总表(非常好记)

✅ 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:

返回值是无符号、平台原生宽度的整数,一般用来返回:优先级、数量、栈水位、任务总数这类非负数。

赞(0)
未经允许不得转载:171主机测评 » FreeRTOS API 前缀总表(非常好记)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址