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

FreeRTOS数据类型和编程规范

目录

数据类型

变量名

函数名

宏的名


数据类型

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

  • TickType_t
    • FreeRTOS配置了一个周期性的时钟中断:Tick Interrupt
    • 每发生一次中断,中断次数累加,这被称为tick count
    • tick count这个变量的类型就是TickType_t
    • TickType_t可以是16位的,也可以是32位的
    • FreeRTOSConfig.h中定义configUSE_16_BIT_TICKS时,TickType_t就是uint16_t,否则就是uint32_t
    • 对于32位架构,,建议把TickType_t配置uint32_t
  • BaseType_t
    • 这是该架构最高效的数据类型
    • 32位架构中,它就是uint32_t
    • 16位架构中,它就是uint16_t
    • 8位架构中,它就是uint8_t
    • BaseType_t通常用作简单的返回值类型,还有逻辑值,比如pdTRUE/pdFALSE

变量名

变量名有前缀

变量名前缀含义
cchar
sint16_t, short
lint32_t, long
xBaseType_t, 其他非标准的类型:结构体、task handle、queue handle等
uunsigned
p指针
ucuint8_t, unsigned char
pcchar指针

函数名

函数名的前缀有两部分组成:返回值类型和在哪个文件定义

函数名前缀含义
vTaskPrioritySet返回值类型:void
在task.c中定义
xQueueReceive返回值类型:BaseType_t
在queue.c中定义
pvTimerGetTimeID

返回值类型:pointer to void

在timer.c中定义

宏的名

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

宏的前缀含义
port(比如portMAX_DELAY)portable.h或portmacro.h
task(比如taskENTER_CRITICAL())task.h
pd(比如pdTRUE)projdefs.h
config(比如configUSE_PREEMPTION)FreeRTOSConfig.h
ererrQUEUE_FULL)projdefs.h

通用的宏定义如下:

pdTRUE1
pdFALSE0
pdPASS1
pdFAIL0

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

相关文章:

  • 【python知识】win10下如何用python将网页转成pdf文件
  • C语言常见关键字
  • 【MT7628】固件开发-SDK4320添加MT7612E WiFi驱动操作说明
  • 如何从手工测试进阶自动化测试?阿里10年测开经验分享...
  • C++复习笔记11
  • 【MT7628】固件开发-SDK4320添加MT7628 WiFi驱动操作说明
  • C#开发的OpenRA游戏加载界面的实现
  • 渲染农场优势是什么_云渲染农场怎么用?
  • SoapUI、Jmeter、Postman三种接口测试工具的比较分析
  • Python内置函数 — sort,sorted
  • mysql事务隔离级别
  • 【C++】string类(下)
  • Elasticsearch: Prefix queries - 前缀查询
  • GEE学习笔记 七十七:GEE学习方法简介
  • 20基于主从博弈的智能小区代理商定价策略及电动汽车充电管理MATLAB程序
  • 长按power键,点击重启按钮,系统重启流程一
  • 数据的TCP分段和IP分片
  • HTML中嵌入B站视频
  • Mars3D Studio 的使用方法
  • Flutter For Web实践
  • 【神级Python代码】作为技术xiao白如何制作一款超炫酷的黑客主题代码雨?牛逼就完了。(源码分享学习)
  • 供应链挑战迎刃而解!桑迪亚国家实验室使出“量子杀手锏”
  • java程序设计-ssm博客管理系统
  • 从0到1一步一步玩转openEuler--17 openEuler DNF(YUM)检查更新
  • SpringBoot-自动配置-@Import注解与@EnableAutoConfiguration注解
  • 【笔记】C#一维数组、多维数组和交错数组的区别总结
  • 【SpringBoot】分布式日志跟踪—通过MDC实现全链路调用日志跟踪
  • 【设计模式】创建型模式
  • Spark Catalyst 查询优化器原理
  • 贝叶斯分析法在市场调研中的应用