FreeRTOS编码规范

当我们接触一个新平台或者SDK,弄明白它的编码规范和文件作用,可以提高源码阅读效率,快速熟悉其内部实现。

3.2.1 数据类型
FreeRTOS针对不同的处理器,对标准C的数据类型进行了重定义。

1. #define portCHAR        char  
2. #define portFLOAT       float  
3. #define portDOUBLE      double  
4. #define portLONG        long  
5. #define portSHORT       short  
6. #define portSTACK_TYPE  uint32_t  
7. #define portBASE_TYPE   long  

应用编码中,推荐使用的是下面这种风格。

1. typedef int int32_t;  
2. typedef short int16_t;  
3. typedef char int8_t;  
4. typedef unsigned int uint32_t;  
5. typedef unsigned short uint16_t;  
6. typedef unsigned char uint8_t;

3.2.2 变量名
FreeRTOS 中,定义变量的时候往往会把变量的类型当作前缀,好处看到就知道其类型。 

char 型变量的前缀是 c 

short 型变量的前缀是 s 

long 型变量的前缀是 l 

复杂的结构体,句柄等定义的变量名的前缀是 x 

变量是无符号型的再加前缀 u,是指针变量则加前缀 p

3.2.3 函数名
函数名包含了函数返回值的类型、函数所在的文件名和函数的功能,如果是私有的函数则会加一个 prv(private)的前缀。 

例如vTaskPrioritySet()函数的返回值为 void 型,在 task.c 这个文件中定义。

3.2.4 宏
宏内容是由大写字母表示,前缀是小写字母,表示该宏在哪个头文件定义,如:

1. #define taskYIELD()                 portYIELD()  

表示该宏是在task.h。

(1)
上一篇 2024-03-03
下一篇 2020-05-23

相关推荐

发表回复

登录后才能评论