初学 FreeRTOS 的用户对其变量和函数的命名比较迷惑,下面专门做一下介绍:
◆ 变量
⚫ uint32_t 定义的变量都加上前缀 ul。u 代表 unsigned 无符号,l 代表 long 长整型。
⚫ uint16_t 定义的变量都加上前缀 us。u 代表 unsigned 无符号,s 代表 short 短整型。
⚫ uint8_t 定义的变量都加上前缀 uc。u 代表 unsigned 无符号,c 代表 char 字符型。
⚫ stdint.h 文件中未定义的变量类型,在定义变量时需要加上前缀 x,比如 BaseType_t 和
TickType_t 定义的变量。
⚫ stdint.h 文件中未定义的无符号变量类型,在定义变量时要加上前缀 u,比如 UBaseType_t 定义
的变量要加上前缀 ux。
⚫ size_t 定义的变量也要加上前缀 ux。
⚫ 枚举变量会加上前缀 e。
⚫ 指针变量会加上前缀 p,比如 uint16_t 定义的指针变量会加上前缀 pus。
⚫ 根据 MISRA 代码规则,char 定义的变量只能用于 ASCII 字符,前缀使用 c。
⚫ 根据 MISRA 代码规则,char *定义的指针变量只能用于 ASCII 字符串,前缀使用 pc。
◆ 函数
⚫ 加上了 static 声明的函数,定义时要加上前缀 prv,这个是单词 private 的缩写。
⚫ 带有返回值的函数,根据返回值的数据类型,加上相应的前缀,如果没有返回值,即 void 类型
,函数的前缀加上字母 v。
⚫ 根据文件名,文件中相应的函数定义时也将文件名加到函数命名中,比如 tasks.c 文件中函数
vTaskDelete,函数中的 task 就是文件名中的 task。
◆ 宏定义
⚫ 根据宏定义所在的文件,文件中的宏定义声明时也将文件名加到宏定义中,比如宏定义
configUSE_PREEMPTION 是定义在文件 FreeRTOSConfig.h 里面。宏定义中的 config 就是文
件名中的 config。另外注意,前缀要小写。
⚫ 除了前缀,其余部分全部大写,同时用下划线分开