三、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、命令规范

        掌握FreeRTOS的命令规范,有利于阅读和理解FreeRTOS的源码。

2.1、变量名

变量名前缀含义
cchar
suint16_t,short
luint32_t,long
x

BaseType_t,其他非标准类型:结构体、task handle、queue handle等

uunsigned
p指针
ucuint8_t,unsigned char
pcchar指针

2.2、函数名

(1)函数名的前缀有两部分:返回值类型,在哪个文件定义。

函数名前缀含义
vTaskPriorityset

返回值类型:void

在task.c中定义

xQueuReceive

返回值类型:BaseType_t

在queue.c中定义

pvTimerGetTimerID

返回值类型:pointer to void

在timer.c中定义

2.3、宏定义

(1)宏的名字是大小,可以添加小写的前缀。前缀是用来表示:宏在哪个文件中定义。

宏的前缀含义:在哪个文件里定义
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

(2)通用的宏定义如下。

pdTRUE1
pdFALSE0
pdPASS1
pdFAIL0
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码织梦师小猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值