FreeRTOS 的命名规则

news/2024/11/8 0:37:14/

初学 FreeRTOS 的用户对其变量和函数的命名比较迷惑,下面专门做一下介绍:
◆ 变量
⚫ uint32_t 定义的变量都加上前缀 ul。u 代表 unsigned 无符号,l 代表 long 长整型。
⚫ uint16_t 定义的变量都加上前缀 us。u 代表 unsigned 无符号,s 代表 short 短整型。
⚫ uint8_t 定义的变量都加上前缀 uc。u 代表 unsigned 无符号,c 代表 char 字符型。
⚫ stdint.h 文件中未定义的变量类型,在定义变量时需要加上前缀 x,比如 BaseType_t 和
TickType_t 定义的变量。
⚫ stdint.h 文件中未定义的无符号变量类型,在定义变量时要加上前缀 u,比如 UBaseType_t 定义
的变量要加上前缀 ux。
⚫ size_t 定义的变量也要加上前缀 ux。
⚫ 枚举变量会加上前缀 e。
⚫ 指针变量会加上前缀 p,比如 uint16_t 定义的指针变量会加上前缀 pus。
⚫ 根据 MISRA 代码规则,char 定义的变量只能用于 ASCII 字符,前缀使用 c。
⚫ 根据 MISRA 代码规则,char *定义的指针变量只能用于 ASCII 字符串,前缀使用 pc。
◆ 函数
⚫ 加上了 static 声明的函数,定义时要加上前缀 prv,这个是单词 private 的缩写。
⚫ 带有返回值的函数,根据返回值的数据类型,加上相应的前缀,如果没有返回值,即 void 类型
,函数的前缀加上字母 v。
⚫ 根据文件名,文件中相应的函数定义时也将文件名加到函数命名中,比如 tasks.c 文件中函数
vTaskDelete,函数中的 task 就是文件名中的 task。
◆ 宏定义
⚫ 根据宏定义所在的文件,文件中的宏定义声明时也将文件名加到宏定义中,比如宏定义
configUSE_PREEMPTION 是定义在文件 FreeRTOSConfig.h 里面。宏定义中的 config 就是文
件名中的 config。另外注意,前缀要小写。
⚫ 除了前缀,其余部分全部大写,同时用下划线分开


http://www.ppmy.cn/news/45973.html

相关文章

2、Web前端学习规划:HTML - 学习规划系列文章

今天先写Web前端最基本的语言:HTML。目前已经到了HTML5版本,作为Web基本语言,笔者认为这个是最先需要学习的语言。 1、 简介; HTML(HyperText Markup Language)是一种用于创建网页的标记语言。它使用标签和属性来描述网页的结构和…

channel 源码解析(5问)

目录 1.channel底层数据结构是什么 2.channel创建的底层实现 3.channel 的发送过程 4.channel的接受过程 5.关闭 channel 1.channel底层数据结构是什么 channel底层的数据结构是hchan,包括一个循环链表和2个双向链表 type hchan struct {qcount uint // tota…

Prometheus - Grafana 监控 MySQLD Linux服务器 demo版

目录 首先是下载Prometheus 下载和安装 配置Prometheus 查看监控数据 监控mysql demo 部署 mysqld_exporter 组件 配置 Prometheus 获取监控数据 -------------------------------------- 安装和使用Grafana 启动Grafana -------------------------------------- 配…

多通道振弦传感器无线采集仪与参数配置工具连接

多通道振弦传感器无线采集仪与参数配置工具连接 VS101~VS432 设备配备了专门的参数配置工具 SETP 来完成设备工作参数的查看和修改工作。 连接前的准备工作 ( 1)数据接口与计算机连接 使用标配的通讯线与计算机 RS232 接口连接。 若需基于手机网络发送数…

BGA封装与PCB差分互连结构的设计与优化

摘要:随着电子系统通信速率的不断提升,BGA封装与PCB互连区域的信号完整性问题越来越突出。 针对高速BGA封装与PCB差分互连结构进行设计与优化,着重分析封装与PCB互连区域差分布线方式,信号布局方式,信号孔/地孔比&…

Linux移动文件和文件夹(目录)命令

命令mv 英文move 翻译移动 mv命令可以移动文件或文件夹&#xff08;目录&#xff09;&#xff0c;也可以重命令&#xff08;覆盖&#xff09;文件。 1. 移动文件/重命名 单纯地移动某一个文件直接使用&#xff1a; mv <源文件名称/地址> <新文件名称/地址>这个方法…

【刷题之路Ⅱ】LeetCode 3381.搜索旋转排序数组ⅠⅡ

【刷题之路Ⅱ】LeetCode 33&81.搜索旋转排序数组Ⅰ&Ⅱ 一、题目描述二、解题1、方法1——暴力法1.1、思路分析1.2、代码实现 2、方法2——二分法2.1、思路分析2.2、代码实现2.3、升级到81题2.3.1、改进思路分析2.3.1、改进代码实现 3、改进二分法3.1、思路分析3.2、代码…

Python词云

词云图wordcloud 1.安装第三方库 j i e b a 库、 m a t p l o t l i b 、 w o r d c l o u d 库 jieba库、matplotlib、wordcloud库 jieba库、matplotlib、wordcloud库 2.过程 1.使用 j i e b a jieba jieba 库对数据进行分词整理&#xff0c;转为 t x t txt txt文件&#…