文章目录

  • 一、前言
  • 二、实验目的
  • 三、API
    • 3.1、osEventFlagsWait
  • 四、代码
    • 4.1、main.h
    • 4.2、main.c
  • 五、Event Recorder
    • 5.1、分别长按按键KEY0,KEY1,KEY2

一、前言


上一节学习了使用逻辑或同步线程,接下来学习使用逻辑与同步线程。

STM32工程:
链接:https://pan.baidu.com/s/1wKWtdPEHyn1NBTc97DRb5A
提取码:hmeo

二、实验目的


分别长按KEY0,KEY1,KEY2后同步线程A。

三、API


3.1、osEventFlagsWait

/* 使用举例1 */
void thread_A_App(void *argument)
{osStatus_t os_Status;while(1){os_Status = osEventFlagsWait(event_Flags1_ID,   /* 事件标志组ID */0x00000003U,       /* 等待事件标志位0与事件标志位1 */osFlagsWaitAll,    /* 逻辑与 */osWaitForever      /* 一直等待 */);printf("thread A is running.\r\n");}}/* 使用举例2 */
void thread_A_App(void *argument)
{osStatus_t os_Status;while(1){os_Status = osEventFlagsWait(event_Flags1_ID,   /* 事件标志组ID */0x00000003U,       /* 等待事件标志位0与事件标志位1 */osFlagsWaitAll,    /* 逻辑与 */2000U              /* 超时时间2S */);printf("thread A is running.\r\n");}}

四、代码


4.1、main.h

4.2、main.c






五、Event Recorder


5.1、分别长按按键KEY0,KEY1,KEY2

RTX5 | 事件标志组04 - 线程同步(逻辑与)相关推荐

  1. RTX5 | 事件标志组03 - 线程同步(逻辑或)

    一.前言 事件标志组是独自存在的,线程标志组只是线程的一部分.事件标志组的使用方法与线程标志组的使用方法一样,学会使用线程标志组就等于学会使用事件标志组,反之亦然.当线程退出之后,其线程标志组就会消失 ...

  2. RTX5 | 线程标志组01 - 线程同步

    文章目录 一.前言 二.实验目的 三.API 3.1.osThreadFlagsSet 3.2.osThreadFlagsWait 四.代码 4.1.main.h 4.2.main.c 五.Event ...

  3. RTX5 | 事件标志组01 - 创建事件标志组

    文章目录 一.前言 二.实验目的 三.API 3.1.osEventFlagsAttr_t 3.2.osEventFlagsNew 四.代码 4.1.main.h 4.2.main.c 五.Event ...

  4. RTX5 | 事件标志组02 - 置位事件标志组,并获取事件标志组的值

    文章目录 一.前言 二.实验目的 三.API 3.1.osEventFlagsSet 3.2.osEventFlagsGet 四.代码 4.1.main.h 4.2.main.c 五.Event Re ...

  5. 用事件标志组实现多事件的单向同步

    文章目录 1 用事件标志组实现多事件的单向同步 1 用事件标志组实现多事件的单向同步 问题需求: 某一任务等待事件中一个或多个事件同时发生. 解决方案: 事件发生时,设置指定事件标志位,任务4等待所有 ...

  6. FreeRTOS 事件标志组 ——提高篇

    假设你已经看过FreeRTOS 事件标志组这篇随笔了. 之前的基础篇,真的就只是简单了解一下,相当于大学实验室的实验,但是,我们实际公司项目中,需要更多地思考,就算我们之前只是学习了基础概念以及基础语 ...

  7. 互斥量、临界区、信号量、事件标志组和消息邮箱

    为了好的理解互斥量.临界区.信号量.事件标志组和消息邮箱,下面一些知识对初学者来说很重要: 为了实现各任务之间的合作和无冲突的运行,在有关联的任务之间必须建立一些制约关系.这些制约关系主要有两种:直接 ...

  8. 互斥量、临界区、信号量、事件标志组和消息邮箱(转)

    互斥量.临界区.信号量.事件标志组和消息邮箱          为了好的理解互斥量.临界区.信号量.事件标志组和消息邮箱,下面一些知识对初学者来说很重要: 为了实现各任务之间的合作和无冲突的运行,在有 ...

  9. FreeRTOS源码分析与应用开发07:事件标志组

    目录 1. 概述 2. 事件标志组类型 3. 创建事件标志组 4. 删除事件标志组 5. 设置事件标志位 5.1 任务级设置 5.2 中断级设置 6. 清除事件标志位 6.1 任务级清除 6.2 中断 ...

最新文章

  1. 1 张图,拆解阿里 P8高级架构师必会技术栈!
  2. 根据参数显示类别(三级联动,需要JSON数据)
  3. 设计模式--组合(Component)模式
  4. java 的xml_详解Java解析XML的四种方法
  5. Request.ServerVariables的详细应用(转)
  6. Webpack基础之输出
  7. queue模块的使用
  8. 负margin几种用法的总结
  9. Bootstrap Page header
  10. [上海]招募.net网站测试员(实习/见习)
  11. 计算机学科研究方向统计
  12. MySQL MHA详解(二)——实战配置
  13. 计算机模拟学,深度学习是让计算机模拟
  14. 通达信波段王指标公式主图_通达信波段王+精准买卖提示主图指标公式
  15. IAR教程之IAR安装
  16. 第六章 Realm及相关对象——《跟我学Shiro》[张开涛]
  17. 怎样写好一篇英文论文
  18. 80端口有什么用,80端口被禁用怎么解决
  19. 周怎么换算成月_时间序列数据,只找到了周数据,怎么把它转化成月数据?
  20. z-index诡异事件之背锅侠

热门文章

  1. 苹果公司计划在俄勒冈州建设其第三个数据中心
  2. Docker折腾手记-安装
  3. windows7系统配置maven环境
  4. PowerShell挂起功能--Confirm参数
  5. 计算出你和另一个人的关系,准的邪门了!
  6. 通俗讲解【重定向】及其实践
  7. 查看Jar包中Class类的编译环境jdk版本
  8. 对AI的未来以及优势的一些看法
  9. 你可真行呀的飞鸽传书
  10. 小猴子蓝裤黄袄的局域网聊天