当前位置: 首页 > news >正文

五、FreeRTOS数据类型和编程规范

1、数据类型

(1)每个移植的版本都含有自己的portmacro.h头文件,里面定义了2个数据类型。

(2)TickType_t

  • FreeRTOS配置了一个周期性的时钟中断:Tick Interrup
  • 每发生一次中断,中断次数累加,这被称为tick count
  • tick count这个变量的类型就是TickType_t
  • TickType_t可以是16位的,也可以是32位的
  • FreeRTOSConfig.h中定义configUSE_16_BIT_TICKS时,TickType_t就是uint16_t
    否则TickType_t就是uint32_t
  • 对于32位架构,建议把TickType_t配置为uint32_t

(3)BaseType_t

  • 这是该架构最高效的数据类型
  • 32位架构中,它就是uint32_t
  • 16位架构中,它就是uint16_t
  • 8位架构中,它就是uint8_t
  • BaseType_t通常用作简单的返回值的类型,还有逻辑值,比如 pdTRUE/pdFALSE

2、编程规范

2.1、变量名的前缀

变量名前缀含义
cchar
suint16_t,short
luint32_t,long
x

BaseType_t,

其他非标准类型:结构体、task handle、queue handle等

uunsigned
p指针
ucuint8_t,unsigned char
pcchar指针

2.2、函数名

(1)函数名的前缀有两部分:返回值类型,在哪个文件定义。

(2)前缀为最前面的小写字母。

函数名前缀含义
vTaskPriorityset

返回值类型:void

在task.c中定义

xQueuReceive

返回值类型:BaseType_t

在queue.c中定义

pvTimerGetTimerID

返回值类型:pointer to void

在timer.c中定义

2.3、宏定义

宏的名字是大小,可以添加小写的前缀。前缀是用来表示:宏在哪个文件中定义。

宏的前缀含义:在哪个文件里定义
port(比如portMAX_DELAY)portable.h或portmacro.h
task(比如taskENTER_CRITICAL())task.h
pd (比如pdTRUE)projdefs.h
config (比如configUSE_PREEMPTION)FreeRTOSConfig.h
err (比如errQUEUE_FULL)projdefs.h

通用的宏定义如下:

pdTRUE1
pdFALSE0
pdPASS1
pdFAIL0


 

http://www.lryc.cn/news/112392.html

相关文章:

  • 码出高效_第二章 | 面向对象_上
  • 大学生课设实训|基于springboot的在线拍卖系统
  • 论文阅读 - Social bot detection in the age of ChatGPT: Challenges and opportunities
  • FPGA优质开源项目 - UDP RGMII千兆以太网
  • 学C的第三十二天【动态内存管理】
  • 聊聊elasticsearch的data-streams
  • unreal engine c++ 创建tcp server, tcp client
  • 24届华东理工大学近5年自动化考研院校分析
  • 初识集合和背后的数据结构
  • 选择适合你的数据可视化工具:提升洞察力的关键决策
  • H5中的draggable
  • 搭建SVN服务器
  • OpenCV之信用卡识别实战
  • Detector定位算法在FPGA中的实现——section1 原理推导
  • 心电信号去噪:方法与应用
  • 睡眠助手/白噪音/助眠夜曲微信小程序源码下载 附教程
  • Spring Cloud常见问题处理和代码分析
  • debian怎么修改man help为中文,wsl怎么修改显示语言为中文
  • k8s概念-亲和力与反亲和力
  • 【数据结构】实现单链表的增删查
  • Vue2 第二十节 vue-router (四)
  • 第三章 图论 No.1单源最短路及其综合应用
  • ❤ npm不是内部或外部命令,也不是可运行的程序 或批处理文件
  • 关于Godot游戏引擎制作流水灯
  • C语言 函数指针详解
  • LNMP及论坛搭建
  • 【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)
  • Godot 4 练习 - 制作粒子
  • Java基础继承详解
  • 如何维护你的电脑:打造IT人的重要武器