FreeRTOS入门详解之---编码规范篇
本章简介
本章是FreeRTOS入门详解系列的第二篇:编码规范篇。工欲善其事,必先利其器。一个良好的编码规范可以在后续的编程中事半功倍,同时也会让自己的代码看起来更美观,更专业,更易读。拥有一个良好的编码规范意识是十分重要的。
1、变量命名
变量命名使用驼峰式大小写(单词首字母大写),变量名要具有明确描述和含义,并使用完整的单词(通用的缩写也可以)。
1.1、标准类型的变量命名规则:
uint32_t 类型变量以 ul 为前缀 u表示unsigned ,l表示long
uint16_t 类型变量以 us 为前缀 u表示unsigned,s表示short
uint8_t 类型变量以 uc 为前缀 u表示unsigned,c表示char
同理
char类型变量以 c 为前缀
int类型变量以 l 为前缀
下面是示例代码:
uint32_t ulTopPriority = 0;
uint16_t usSecondPriority = 1;
uint8_t ucThirdPriority = 2;
1.2、非标准类型的变量命名规则:
非标准类型的有符号变量命名以 x 为前缀,如FreeRTOS移植层的代码:BaseType_t 和 TickType_t。
非标准类型的无符号变量命名以 ux 为前缀,如UBaseType_t(unsigned BaseType_t )
枚举变量以 e 为前缀
指针以附加 p 为前缀,如指向 uint16_t 类型的指针,以 pus为前缀
下面是代码示例:
TickType_t xTickCount = 0U;
UBaseType_t uxCurrentNumberOfTasks = 0U;
uint16_t * pusBuff;
2、函数命名
函数命名使用驼峰式大小写(单词首字母大写),函数名要具有明确描述和含义,并使用完整的单词(通用的缩写也可以)。
静态(私有)函数(stctic)以prv为前缀;
API函数以返回值类型为前缀,void类型以 v为前缀;
API函数名称以定义函数的文件名称开头。例如,在 tasks.c 中定义 vTaskDelete,并且具有 void 返回类型。
下面是代码示例:
static void prvAFunction( uint32_t ulParameter );
void vAFunction( void );
void vTaskDelete( TaskHandle_t xTaskToDelete );
3、宏命名
宏的命名要具有明确描述和含义,并使用完整的单词(通用的缩写也可以)。
宏以定义宏的文件为前缀。前缀为小写。例如,在 FreeRTOSConfig.h 中定义 configUSE_PREEMPTION。
除前缀外,所有宏均使用大写字母书写,并使用下划线来分隔单词。
下面是代码示例:
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
4、参考
参考自FreeRTOS官网/内核/关于FreeRTOS内核/编码、测试&样式