1.2FreeRTOS中的数据类型

1.2FreeRTOS中的数据类型
2017.2.1书
zzw
FreeRTOS 主要自定义了以下四种数据类型:
TickType_t
如果用户使能了宏定义 configUSE_16_BIT_TICKS,那么 TickType_t 定义的就是 16 位无符号数,如果没有使能,那么 TickType_t 定义的就是 32 位无符号数。 对于 32 位架构的处理器,一定要禁止此宏定义,即设置此宏定义数值为 0 即可。
BaseType_t
这个数据类型根据系统架构的位数而定,对于 32 位架构,BaseType_t 定义的是 32 位有符号数,对于 16 位架构,BaseType_t 定义的是 16 位有符号数。 如果 BaseType_t 被定义成了 char 型,要特别 注意将其设置为有符号数,因为部分函数的返回值是用负数来表示错误类型。
UBaseType_t
这个数据类型是 BaseType_t 类型的无符号版本。
StackType_t
栈变量数据类型定义,这个数量类型由系统架构决定,对于 16 位系统架构,StackType_t 定义的是16 位变量,对于 32 位系统架构,StackType_t 定义的是 32 位变量。
以上是在portmacro.h头文件中 定义的。
使用Ctrl+F可以进行搜索
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值