当前位置: 首页 > 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

相关文章:

FreeRTOS数据类型和编程规范

目录 数据类型 变量名 函数名 宏的名 数据类型 每个移植的版本都含有自己的portmacro.h头文件,里面定义了2个数据类型 TickType_t FreeRTOS配置了一个周期性的时钟中断:Tick Interrupt每发生一次中断,中断次数累加,这被称为t…...

【python知识】win10下如何用python将网页转成pdf文件

一、说明 本篇记录一个自己享用的简单工具。在大量阅读网上文章中,常常遇到一个专题对应多篇文章,用浏览器的收藏根本不够。能否见到一篇文章具有搜藏价值,就转到线下,以备日后慢慢消化吸收。这里终于找到一个办法,将在…...

C语言常见关键字

写在前面 这个博客是结合C语言深度解剖这本书和我以前学的知识综合而成的,我希望可以更见详细的谈一下C语言的关键字,内容有点多,有错误还请斧正. 常见关键字 下面我们说下C语言的关键字,所谓的关键字是指具有特定功能的单词,我们可以使用关键字来帮助我们完成不同的事物.C语…...

【MT7628】固件开发-SDK4320添加MT7612E WiFi驱动操作说明

解压5G WiFi MT7612E驱动1.1解压指令 tar -xvf MT76x2E_MT7620_LinuxAP_V3.0.4.0_P2_DPA_20160308.tar.bz2 1.2解压之后会出现以下两个目录 rlt_wifi rlt_wifi_ap 1.3将解压后的文件拷贝到系统下 拷贝路径 RT288x_SDK/source/linux-2.6.36.x/drivers/net/wireless 内核中打开驱…...

如何从手工测试进阶自动化测试?阿里10年测开经验分享...

随着行业的竞争加剧,互联网产品迭代速度越来越快,QA 与测试工程师都需要在越来越短的测试周期内充分保证质量。可是,App 测试面临着很多挑战,比如多端发布、多版本发布、多机型发布等等,导致了手工测试很难完全胜任。因…...

C++复习笔记11

1. vector是表示可变大小数组的序列容器。 2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被…...

【MT7628】固件开发-SDK4320添加MT7628 WiFi驱动操作说明

解压2.4G WiFi MT7628驱动1.1解压指令 tar -xvf MT7628_LinuxAP_V4.1.0.0_DPA_20160310.tar.bz2 1.2解压之后会出现以下两个目录 mt_wifi mt_wifi_ap 1.3将解压后的文件拷贝到系统下 拷贝路径 RT288x_SDK/source/linux-2.6.36.x/drivers/net/wireless 内核中打开驱动编译修改R…...

C#开发的OpenRA游戏加载界面的实现

C#开发的OpenRA游戏加载界面的实现 游戏的UI是一个游戏必备, 但是游戏的UI都是自己处理的,不能使用像Windows自带的UI。 这样游戏的UI,其实也是使用游戏的方式来显示的, 只不过使用了低帧率的方式来显示。 比如OpenRA游戏界面,就会显示如下: 游戏的界面有很多,先从一个简…...

渲染农场优势是什么_云渲染农场怎么用?

在回答渲染农场的优势这个问题之前,我先申明一下本文中提到的渲染农场/云渲染平台/云渲染农场,都特指CG领域内的专业3D渲染平台,有一些文章会强调这个叫法的区别,但是业内一般都不会分这么细,所以也就不赘述了。渲染农…...

SoapUI、Jmeter、Postman三种接口测试工具的比较分析

目录 前言 1. 用例组织方式 2. 支持的接口类型与测试类型 3. 配置不同接口类型 4. 自定义变量以及变量的作用域 5. 数据源、生成器,进行参数化 6. 流程控制 7. 结果解析、展示 8. 断言 9. 脚本扩展能力 10. 团队协作 总结 重点:配…...

Python内置函数 — sort,sorted

1、sort 列表的属性方法,对列表进行排序,默认升序,返回None值。 源码注释: """ Sort the list in ascending order and return None.The sort is in-place (i.e. the list itself is modified) and stable (i.e.…...

mysql事务隔离级别

mysql锁机制及原理1.隔离级别2.实践2.1查看事务隔离级别2.2 设置隔离级别2.3 不可重复读2.4 幻读3.幻读怎么解决3.1 Record Lock3.2 Gap Lock3.3 Next-Key Lock引用:https://blog.csdn.net/xinyuan_java/article/details/1284932051.隔离级别 SERIALIZABLE(序列化)…...

【C++】string类(下)

文章目录1.迭代器(正向遍历)begin有两个版本2.反向迭代器(反向遍历)rbegin由两个版本3. at4. insert ——头插在pos位置前插入一个字符串在pos位置前插入n个字符在迭代器前插入一个字符5. erase从pos位置开始删除len个字符从迭代器位置开始删除6. replace——替换从pos位置开始…...

Elasticsearch: Prefix queries - 前缀查询

Prefix queries 被用于在查询时返回在提供的字段中包含特定前缀的文档。有时我们可能想使用前缀查询单词,例如 Leonardo 的 Leo 或 Marlon Brando、Mark Hamill 或 Martin Balsam 的 Mar。 Elasticsearch 提供了一个前缀查询,用于获取匹配单词开头部分&a…...

GEE学习笔记 七十七:GEE学习方法简介

这是一篇关于学习方法的思考探索,当然我不会大篇文章介绍什么学习方法(因为我也不是这方面的专家?),这个只是总结一下我是如何学习GEE以及在学习中遇到问题时如何解决问题的。我写这篇文章的目的就是在和一些学习GEE的新同学接触…...

20基于主从博弈的智能小区代理商定价策略及电动汽车充电管理MATLAB程序

参考文档:《基于主从博弈的智能小区代理商定价策略及电动汽车充电管理》基本复现仿真平台:MATLABCPLEX/gurobi平台优势:代码具有一定的深度和创新性,注释清晰,非烂大街的代码,非常精品!主要内容…...

长按power键,点击重启按钮,系统重启流程一

1.有可能会涉及到如下文件 2.文件流程...

数据的TCP分段和IP分片

本文简述下TCP分段和IP分片的区别与联系。 我们知道,用户空间的数据拷贝到内核空间的TCP发送缓冲区(这个是一个结构体,叫sk_buffer,简称skb)后就由内核网络协议栈做后续的封装和发送处理了,用户无需考虑下…...

HTML中嵌入B站视频

HTML中嵌入B站视频 在网页中实现一个HTML播放器需要先从b站获取视频嵌入代码, 以前嵌入代码可以从视频分享那里拿到, 现在好像不行了 必须是自己投稿的视频, 从投稿管理页面才能找到 复制嵌入代码 建一个.html文件, 放入下面代码 <!DOCTYPE html> <html><head…...

Mars3D Studio 的使用方法

Mars3D Studio的使用 1、介绍&#xff1a; mars3d Studio是mars3d研发团队于近期研发上线的一款 场景可视化编辑平台。拥有资源存档、团队协作、定制材质等丰富的功能。可以实现零代码构建一个可视化三维场景。 2、功能介绍 &#xff08;1&#xff09;数据上传&#xff1a…...

Flutter For Web实践

1 什么是Flutter Flutter是Google开源的一套UI工具包&#xff0c;帮助开发者通过一套代码库高效构建多平台精美应用&#xff0c;支持移动APP、web、桌面和嵌入式平台。Flutter和其他的跨平台解决方案的实现方式上有比较大的差异。 我们以React Native&#xff08;下文简称RN&…...

【神级Python代码】作为技术xiao白如何制作一款超炫酷的黑客主题代码雨?牛逼就完了。(源码分享学习)

前言 哈喽&#xff0c;我是木子&#xff0c;今天给大家制作一款超级炫酷的代码啦。 提到《黑K帝国》&#xff0c;字符雨可谓是让人印象深刻。 所有文章完整的素材源码都在&#x1f447;&#x1f447; 粉丝白嫖源码福利&#xff0c;请移步至CSDN社区或文末公众hao即可免费。 ​…...

供应链挑战迎刃而解!桑迪亚国家实验室使出“量子杀手锏”

桑迪亚国家实验室的科学家Alicia Magann&#xff08;右&#xff09;&#xff0c;Kenneth Rudinger&#xff08;左上&#xff09;&#xff0c;Mohan Sarovar&#xff08;左下&#xff09;和Matthew Grace&#xff08;未附图&#xff09;开发了基于反馈的量子优化算法&#xff08…...

java程序设计-ssm博客管理系统

博客管理系统是一个用于创建、管理和发布博客文章的应用程序。它通常包括一个后台管理界面&#xff0c;用于管理用户、文章、评论、标签等数据。同时&#xff0c;它还包括一个前端界面&#xff0c;用于展示博客文章并提供交互功能&#xff0c;例如评论和分享。 博客管理系统可…...

从0到1一步一步玩转openEuler--17 openEuler DNF(YUM)检查更新

文章目录17.1 检查更新17.2 升级17.3 更新所有的包和它们的依赖DNF是一款Linux软件包管理工具&#xff0c;用于管理RPM软件包。DNF可以查询软件包信息&#xff0c;从指定软件库获取软件包&#xff0c;自动处理依赖关系以安装或卸载软件包&#xff0c;以及更新系统到最新可用版本…...

SpringBoot-自动配置-@Import注解与@EnableAutoConfiguration注解

Import注解 Enable* 底层依赖于 Import 注解导入一些类&#xff0c;使用 Import 导入的类会被 Spring 加载到 IOC 容器中Import 提供了4种用法&#xff1a; 1.导入Bean2.导入配置类3.导入ImportSelector实现类&#xff1b;一般用于加载配置文件中的类4.导入ImportBeanDefinitio…...

【笔记】C#一维数组、多维数组和交错数组的区别总结

文章目录前言数组的概念1&#xff0c;一维数组&#xff1a;2&#xff0c;多维数组&#xff1a;3&#xff0c;交错数组&#xff1a;区别总结结语前言 &#x1f604;大家好&#xff0c;我是writer桑&#xff0c; 这是自己整理的 C# 数组笔记&#xff0c;方便自己学习的同时分享出…...

【SpringBoot】分布式日志跟踪—通过MDC实现全链路调用日志跟踪

一.MDC 1.MDC介绍 MDC&#xff08;Mapped Diagnostic Context&#xff0c;映射调试上下文&#xff09;是 log4j 和 logback 提供的一种方便在多线程场景下记录日志的功能。MDC 可以看成是一个与当前线程绑定的Map&#xff0c;可以往其中添加键值对。MDC 中包含的内容可以被同…...

【设计模式】创建型模式

简单工厂模式 系列综述&#xff1a; xxxxxxxxx 文章目录对象创建型模式简单&#xff08;静态&#xff09;工厂模式工厂方法模式参考博客&#x1f60a;点此到文末惊喜↩︎ 对象创建型模式 简单&#xff08;静态&#xff09;工厂模式 抽象原理 抽象产品基类 &#xff1a;定义了…...

Spark Catalyst 查询优化器原理

这里我们讲解一下SparkSQL的优化器系统Catalyst&#xff0c;Catalyst本质就是一个SQL查询的优化器&#xff0c;而且和 大多数当前的大数据SQL处理引擎设计基本相同&#xff08;Impala、Presto、Hive&#xff08;Calcite&#xff09;等&#xff09;。了解Catalyst的SQL优化流程&…...

维护一个网站/seo怎么做优化计划

最近想对 API 做一些自动化测试&#xff0c;看了几个工具&#xff0c;最后选择了 postman&#xff0c;感觉 postman 的设计更好一些&#xff0c;我们可以在请求发送之前和请求获取到响应之后都可以自定义脚本&#xff0c;很灵活。而且 postman 的支持直接导入 swagger 定义&…...

wordpress 分类页面打开400/湖南seo优化排名

MiniDao简介及特征 MiniDao是Jeecg自己的持久化解决方案&#xff0c;集成Hibernate实体维护和Mybaits SQL分离的两大优点。具有以下特征 lO/R mapping不用设置xml&#xff0c;零配置便于维护 l 不需要了解JDBC的知识 lSQL语句和java代码的分离 l 可以自动生成SQL语句 l接口…...

泉州建设网站开发/靠谱seo外包定制

可以设置收、发邮件白名单&#xff0c;当终端用户使用天锐绿盾终端自带的邮件工具、outlook、foxmail 或闪电邮往白名单邮箱地址收、发送邮件时&#xff0c;加密的附件就会自动解密&#xff0c;减少解密申请次数&#xff0c;方便用户使用。工具&#xff1a;绿盾加密软件收件人白…...

wordpress限制ip登次数/网络营销五种方法

首先根据你的问题&#xff0c;先实际运行一下代码&#xff0c;如下&#xff1a;通过代码结果&#xff0c;我们看到两者都是True&#xff0c;所以是相等的为什么相等呢&#xff1f;此处涉及到运算优先级的问题1、首先比较容易理解的是当x是空字符串&#xff0c;也就是什么都没有…...

百度网站备案/推广网络推广平台

深圳市栢旺电子有限公司为您详细解读eBavQ安庆FPC板快速打样的相关知识与详情&#xff0c;3、基板生成单面板 使用纯铜箔质料正在电路造程中&#xff0c;别离正在先后正在两面各加一层庇护膜&#xff0c;成为一种只要单层导体但正在电路板的双面都有导体露出的电路板。 4、基板…...

哪家做网站/推广方式

PostgreSQL开启远程连接 如需转载请标明出处&#xff1a;http://blog.csdn.net/itas109 QQ技术交流群&#xff1a;129518033 文章目录PostgreSQL开启远程连接[toc]前言1.修改postgresql.conf2.修改pg_hba.conf3.重启PostgreSQL服务4.防火墙开放端口5.结果环境&#xff1a; OS…...