FreeRTOS命名规范
1、数据类型
(1)每个移植的版本都含有自己的portmacro.h头文件,里面定义了2个数据类型。
(2)TickType_t
- FreeRTOS配置了一个周期性的时钟中断:Tick Interrup
- 每发生一次中断,中断次数累加,这被称为tick count
- tick count这个变量的类型就是TickType_t
- TickType_t可以是16位的,也可以是32位的
- FreeRTOSConfig.h中定义configUSE_16_BIT_TICKS时,+TickType_t就是uint16_t;
- 否则TickType_t就是uint32_t
- 对于32位架构,建议把TickType_t配置为uint32_t
(3)BaseType_t
- 这是该架构最高效的数据类型
- 32位架构中,它就是uint32_t
- 16位架构中,它就是uint16_t
- 8位架构中,它就是uint8_t
- BaseType_t通常用作简单的返回值的类型,还有逻辑值,比如 pdTRUE/pdFALSE
2、命名规范
变量名:
变量名前缀 | 含义 |
---|---|
c | char |
s | uint16_t,short |
i | uint32_t,long |
x | Basetype.非标准结构体,taskhandle、queue handle |
u | unsigned |
p | 指针 |
uc | uint8_t,unsigned char |
pc | char * |
函数名
函数名的前缀有两部分:返回值类型,在哪个文件定义。
函数名前缀 | 含义 |
---|---|
vTaskPriorityset | 返回值类型:void在task.c中定义 |
xQueuReceive | 返回值类型:BaseType_t在queue.c中定义 |
pvTimerGetTimerID | 返回值类型:pointer to void在timer.c中定义 |
宏定义
宏的名字是大小,可以添加小写的前缀。前缀是用来表示:宏在哪个文件中定义。
宏的前缀 | 含义:在哪个文件里定义 |
---|---|
port(比如portMAX_DELAY) | portable.h或portmacro.h |
task(比如taskENTER_CRITICAL()) | task.h |
pd (比如pdTRUE) | projdefs.h |
config (比如configUSE_PREEMPTION) | FreeRTOSConfig.h |
err (比如errQUEUE_FULL) | projdefs.h |