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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值