FreeRTOS之编程风格

文章目录


前言

参考书籍:[野火®]《FreeRTOS 内核实现与应用开发实战—基于STM32》


一、数据类型

在FreeRTOS中,针对不同的处理器,对标准C的数据类型进行了重定义。FreeRTOS中详细的数据类型重定义在portmacro.h头文件中实现,具体见下图。

二、变量名

        在FreeRTOS中,定义变量的时候往往会把变量的类型当作前缀加在变量上,这样的好处是让用户一看到这个变量就知道该变量的类型。比如char型变量的前缀是c,short型变量的前缀是s,long型变量的前缀是l,portBASE_TYPE类型变量的前缀是x。还有其他的数据类型,比如数据结构,任务句柄,队列句柄等定义的变量名的前缀也是x。

        如果一个变量是无符号型的那么会有一个前缀u,如果是一个指针变量则会有一个前缀p。因此,当我们定义一个无符号的char型变量的时候会加一个uc前缀,当定义一个char型的指针变量的时候会有一个pc前缀。

三、函数名

        函数名包含了函数返回值的类型、函数所在的文件名和函数的功能,如果是私有的函数则会加一个prv(private)的前缀。特别的,在函数名中加入了函数所在的文件名,这大大的帮助了用户提高寻找函数定义的效率和了解函数作用的目的,具体的举例如下:

  1. vTaskPrioritySet()函数的返回值为void型,在task.c这个文件中定义。
  2. xQueueReceive()函数的返回值为portBASE_TYPE型,在queue.c这个文件中定义。
  3. vSemaphoreCreateBinary()函数的返回值为void型,在semphr.h这个文件中定义。

四、宏

        宏名由小写字母和大写字母两部分组成,小写字母是前缀表示该宏在哪个头文件定义,大写字母通常表示宏的实际意义。

        在FreeRTOS的整个代码中,有几个表示0和1的通用宏定义。

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值