FreeRTOS-事件标志组

一.事件标志组简介

在裸机上,事件标志位:用一个位,表示事件是否发生。

1.什么是事件标志组?

答:事件标志组是一组事件标志位的集合,可以简单的理解为事件标志组是一个整数(u16)。

特点:(1)每一位代表一个事件(高8位不算)   

           (2)每一位事件的含义都由用户自己决定  如:bit0表示按键按下,bit1表示.....(1:表示事件发生,0:事件未发生)

           (3)任意的任务或中断都可以读写这些位     (4)可以等待某一位成立,或多个位同时成立

一个事件组就包含一个EventBites_t数据类型的变量,如图下图为EventBites_t的定义:

2.事件标志组的组成

答:事件标志组是16位/32位的无符号数据类型,用来存放事件标志,其中高8位用作存储事件标志组的控制信息,低8位/24位用作存储事件标志,所以一个事件组,最多存储24个事件标志。

3.事件标志组和队列、信号量的区别

4.事件标志组的相关API函数

 (1)动态创建事件标志组

(2)清除事件标志

(3)设置事件标志

 (4)等待事件标志

(5)设置事件,并等待事件(同步函数)

综合实验:

1.创建2个任务,Task1,Task2,并创建事件标志组

(1)Task1:读取按下按键的键值,根据键值将事件标志组对应位置一,模拟事件发生

(2)Task2:同时等待事件标志组的多个事件位,当这些事件位都置1就执行相应的处理

2.CubeMX配置

创建两个任务

3.代码部分:

(1)创建事件标志组

(2)任务业务逻辑

现象:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值