在 FreeRTOS 中,函数名的前缀(如 v、ux、x 等)是一种命名约定,用于表示函数的 返回类型或行为特性。这种命名风格提高了代码的可读性,开发者可以通过函数名快速判断其用途和返回值类型。以下是常见前缀的含义:
1.前缀与返回类型的对应关系
前缀 | 返回值类型 | 说明 |
---|---|---|
v | void | 函数没有返回值,例如vTaskDelay( ) |
x | BaseType_t | 返回逻辑值(pdTRUE / pdFALSE )或错误码(pdPASS / pdFAIL ),例如 xQueueSend() 。 |
ux | UBaseType_t | 返回无符号整数(通常用于计数或大小),例如 uxTaskGetNumberOfTasks( ) |
pc | char* | 返回指向字符串(字符指针)的指针,例如 pcTaskGetName( ) |
pv | void* | 返回通用指针(void*),例如 pvTimerGetTimerID( ) |
2.其他常见前缀(行为或模块)
前缀 | 说明 |
---|---|
prv | Private(私有函数),仅限内部使用,例如 prvCheckForValidList( ) |
e | 返回枚举类型(如 eTaskState ),例如 eTaskGetState( ) |
port | 硬件平台相关的函数(如 portENTER_CRITICAL( ) ) |
task / queue / timer | 标识所属模块,例如 xTaskCreate( ) 、xQueueSend( ) 、xTimerStart( ) |
3.这样设计的特点
- 代码可读性:通过前缀快速识别函数的作用和返回值类型,无需查阅文档
- 一致性:统一的命名规范便于团队协作和代码维护
- 避免错误:例如 vTaskDelete()(无返回值)和 xTaskCreate()(返回状态)的差异一目了然