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

一、前言

今天继续学习事件标志组的知识点,在实际项目上肯定会用到的osEventFlagsSet,还有实际项目上可能会用到的osEventFlagsGet。
Note:
必须先创建消息队列,接着再创建线程。顺序颠倒就相当于内存未初始化就被线程使用,导致线程莫名其妙
在这里插入图片描述
STM32工程:
链接:https://pan.baidu.com/s/1P_ltxVUjgUsdZCV5IGdQ-A
提取码:kq6u

二、实验目的

长按按键KEY1,将事件标志组event_Flags1的flag0置1,并获取当前事件标志组event_Flags的值。
长按按键KEY2,将事件标志组event_Flags1的flag1,flag2,flag3同时置1,并获取当前事件标志组event_Flags的值。

三、API

3.1、osEventFlagsSet

/* 使用案例 */
osEventFlagsSet(event_Flags1_ID,0x01U << 0);  /* 事件标志组event_Flags1的flag0置1 */
osEventFlagsSet(event_Flags1_ID,0x01U << 7);  /* 事件标志组event_Flags1的flag7置1 */

osEventFlagsSet(event_Flags1_ID,0x0FU);       /* 事件标志组event_Flags1的flag0,flag1,flag2,flag3同时置1 */

在这里插入图片描述

3.2、osEventFlagsGet

/* 使用案例 */
uint32_t flags;
flags = osEventFlagsGet(event_Flags1_ID);     /* 获取event_Flags1的值 */

在这里插入图片描述

四、代码

4.1、main.h

在这里插入图片描述

4.2、main.c

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、Event Recorder调试

5.1、长按按键KEY1,将事件标志组event_Flags1的flag0置1,并获取当前事件标志组event_Flags的值

在这里插入图片描述

5.2、长按按键KEY2,将事件标志组event_Flags1的flag1,flag2,flag3同时置1,并获取当前事件标志组event_Flags的值

在这里插入图片描述

5.3、接着,长按KEY1或KEY2再观察事件标志组的值

从下图可以证明osEventFlagsGet并不会清除事件标志组的flag。
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wallace Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值