FreeRTOS 数据类型和代码风格

FreeRTOS数据类型和代码风格

数据类型

TickType_t

TickType_t作为tick count的数据类型,他可以是unsigned 16/32的值(通过configUSE_16_BIT_TICKS宏定义配置),在8/16位单片机上,16bit的类型能很大程度上提高性能,但是在32位处理器上,一般不建议使用16位。

BaseType_t

BaseType_t一般用于boolean返回值(pdTRUE/pdFALSE),16位处理器对应16位,32位处理器对应32位的值。

注意

由于不同编译器对未指明的char的编译可能是unsigned也可能是signed,所以在FreeRTOS都会显式声明字符的类型为signed/unsigned,ASCII字符或者指针除外。

直接用int类型的情况不存在,都会指明是有无符号数。

命名

变量

命名符号
cchar
sint16_t(short)
lint32_t(long)
xBaseType_t and any other non-standard types (structures, task handles, queue handles, etc.

对于无符号数,前缀加u; 对于指针,前缀加p。
For example, a variable of type uint8_t will be prefixed with ‘uc’, and a variable of type pointer to char will be prefixed with ‘pc’.

函数

函数名前缀是他的返回值类型
例如:
在这里插入图片描述
如果不是全局函数,函数作用域仅在本文件中,即private function, 那么前缀加prv

宏定义

大多数宏定义是前缀小写名称大写的,前缀代表宏定义的定义位置。
在这里插入图片描述
在这里插入图片描述

FreeRTOS,对于不同的处理器,重定义了一些C标准数据类型,这些重定义的数据类型放在portmacro.h头文件。一些常用的重定义数据类型包括:portCHAR(对应char),portSHORT(对应short),portLONG(对应long),portTickType(对应unsigned int或unsigned short int,取决于配置文件的宏configUSE_16_BIT_TICKS),portBASE_TYPE(对应long,对于32/16/8位的处理器而言,是对应该位数的数据类型)。此外,还有TickType_t和BaseType_t这两个特殊的数据类型,它们定义在每个Port的专用头文件portmacro.h。需要注意的是,在FreeRTOS,需要明确指定char类型变量是有符号的还是无符号的,因为编译器在默认情况下可能会将其指定为无符号或有符号,具体取决于编译器的设置。在keil,默认char是无符号的,但也可以配置为有符号的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [FreeRTOS开发1-数据类型](https://blog.csdn.net/Stark_/article/details/120398827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [FreeRTOS---- 数据类型和编程风格](https://blog.csdn.net/yufm/article/details/77279998)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值