嵌入式面试——FreeRTOS篇(五) 事件标志组

1、事件标志组介绍

答:

        事件标志位:用一个位,来表示事件是否发生。

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

2、事件标志组的特点

答:

  • 它的每一个位表示一个事件(高8位不算)。
  • 每一位事件的含义,由用户自己决定,如:bit0表示按键是否按下,bit1表示是否接收到信息。
  • 这些位的值为1表示事件发生了,值为0表示事件未发生。
  • 任意任务或中断都可以读写这些位。
  • 可以等待某一位成立,或者等待多位同时成立。

3、事件标志组的标志变量

答:一个事件组就包含了一个EventBitst数据类型的变量,变量类型EventBitst数据类型的定义如下所示:

typedef TickType_t EventBits_t;
#if (configUSE_16_BIT_TICKS == 1)
    typedef uint16_t TickType_t;
#else
    typedef uint32_t TickType_t;
#endif
#define configUSE_16_BIT_TICKS 0

EventBits_t 实际上是一个 16 位或 32 位无符号的数据类型。

注意:虽然使用了32为/16位无符号的数据类型变量来存储事件标志,但其中的高8为作用是存储事件标志组的控制信息,低24位/8位的作用才是存储事件标志,所以说一个事件标志组最多可以存储24个事件标志!!!

24位事件标志组示例图:

4、事件标志组与队列、信号量的区别

答:

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

答:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值