FreeRTOS命名规则介绍

描述

RTOS内核和演示例程源代码使用以下规则:

> 变量

uint32_t:前缀 ul,u 表示 unsigned,l 表示 long

uint16_t:前缀 us,s 表示 short

uint8_t:前缀 uc,c 表示 char

非 stdint 类型的变量使用前缀 x,比如基本的 Type_t 和 TickType_t 类型

非 stdint 类型的无符号变量使用前缀 ux,比如 UbaseType_t(unsigned BaseType_t)

size_t 类型的变量使用前缀 x

枚举类型变量使用前缀 e

指针类型变量在类型基础上附加前缀 p,比如指向 uint16_t 的指针变量前缀为 pus

char 类型变量前缀为 c

char * 类型变量前缀为 pc

举例:

size_t

 xQueueSizeInBytes;

uint8_t

 * pucQueueStorage;

> 函数

在文件作用域范围的函数前缀为 prv(一般定义是 static)

API 函数的前缀为它们的返回类型,当返回为空时,前缀为 v

返回值类型 + 所在文件 + 功能名称。比如:

vTaskDelete 该函数返回值为 void 型,定义在 tasks.c,作用是 delete。

vTaskPrioritySet()函数的返回值为 void 型,定义在 tasks.c,函数作用是PrioritySet 设置优先级。

xQueueReceive()函数的返回值为 portBASE_TYPE 型,在 queue.c 这个文件中定义,函数作用是 receive 接收。

vSemaphoreCreateBinary()函数的返回值为 void 型,在 Semaphore.h 这个文件中定义,函数作用是 CreateBinary。

> 宏

宏的名字起始部分为该宏定义所在的文件名的一部分。比如:

configUSE_PREEMPTION 表示定义在 FreeRTOSConfig.h 文件中,作用是 USE_PREEMPTION。

configKERNEL_INTERRUPT_PRIORITY,表示定义在 config 文件中,作用是 KERNEL_INTERRUPT_PRIORITY 内核中断优先级的设置。

除了前缀,宏剩下的字母全部为大写,两个单词间用下划线(’_’)隔开。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分