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

FreeRTOS事件标志组

一、什么是事件标志组

事件标志位:表明某个事件是否发生,联想:全局变量flag。通常按位表示,每一个位表示一个事件(高八位不算)

事件标志组:是一组事件标志位的集合,可以简单的理解事件标志组,就是一个整数。

  事件标志组本质是一个16位或32位无符号的数据类型EventBits_t,由configUSE_16BIT_TICKS决定(如果是0,代表是32位,其它情况下是16位)

尽管使用32位无符号的数据类型变量来存储事件标志,但其中的高8位用作存储事件标志组的控制信息,低24位用作存储事件标志,所以说一个事件组最多可以存储24个事件标志!

二、事件标志组相关API函数

函数描述
xEventGroupCreate()使用动态方式创建事件标志位
xEventGroupCreateStatic()使用静态方式创建事件标志位
xEventGroupClearBits()清零事件标志位
xEventGroupClearBitsFromISR()在中断中清零事件标志位
xEventGroupSetBits()设置事件标志位
xEventGroupSetBitsFromISR()在中断中设置事件标志位
xEventGroupWaitBits()等待事件标志位

1.创建事件标志组

EventGroupHandle_t xEventGroupCreate (void);

参数:

返回值:

成功,返回对应互斥量的句柄;

失败,返回NULL。

2.设置事件标志位

EventGroupHandle_t xEventGroupSetBits (EventGroupHandle_t xEventGroup,const EventBits_t uxBitsToSet);

参数:

xEventGroup:返回对应互斥量的句柄。

uxBitsToSet:指定要在事件组中设置的一个或多个位的按位值。

返回值:

设置之后事件组中的事件标志位值

3.清除事件标志位

EventGroupHandle_t xEventGroupClearBits (EventGroupHandle_t xEventGroup,const EventBits_t uxBitsToClear);

 

参数:

xEventGroup:返回对应互斥量的句柄。

uxBitsToSet:指定要在事件组中清除的一个或多个位的按位值。

返回值:

设置之后事件组中的事件标志位值

4.等待事件标志位

EventGroupHandle_t xEventGroupWaitBits (const EventGroupHandle_t xEventGroupconst EventBits_t uxBitsToWaitFor,const BaseType_t xClearOnExit,const BaseType_t xWaitForAllBits,TickType_t xTicksToWait);

 

http://www.xdnf.cn/news/4213.html

相关文章:

  • 【Linux】第八章 监控和管理Linux进程
  • 关于Diamond机械手的运动学与动力学的推导
  • 【力扣刷题】49字母异位词分组,不用哈希,c语言实现
  • 《AI大模型应知应会100篇》第22篇:系统提示词(System Prompt)设计与优化
  • 基础知识 - 结构体
  • 首席人工智能官(Chief Artificial Intelligence Officer,CAIO)的详细解析
  • 从“链主”到“全链”:供应链数字化转型的底层逻辑
  • 智能sc一面
  • 【cocos creator 3.x】cocos creator2.x项目升级3.x项目改动点
  • 士兵乱斗(贪心)
  • 前端api(请求后端)简易template
  • Python高级爬虫之JS逆向+安卓逆向1.5节: 控制结构
  • docker harbor私有仓库登录报错
  • Ubuntu利用docker搭建Java相关环境问题记录
  • 如何有效防止服务器被攻击
  • 在激烈竞争下B端HMI设计怎样打造独特用户体验?
  • 数组理论基础
  • 从GPT到Gemini 大模型进化史
  • ADVB发送器设计
  • Matter如何终结智能家居生态割据,重构你的居住体验?
  • 随手笔记-python-opencv 读取图像的顺序 与pytorch处理图像的顺序
  • Mysql的安装
  • Java面试(2025)—— Spring
  • FPGA入门学习Day1——设计一个DDS信号发生器
  • opencv HSV的具体描述
  • 【Java学习笔记】关键字汇总
  • 赛灵思 XCVU440-2FLGA2892E XilinxFPGA Virtex UltraScale
  • ESP32- 开发笔记- 硬件设计-ESP32-C3 天线设计-利用嘉立创EDA来设计
  • 数码管LED显示屏矩阵驱动技术详解
  • Gitignore详解:版本控制中的文件忽略机制