FreeRTOS之事件组综合

102 阅读1分钟

1 事件组

  • 每一个事件组只需要很少的 RAM 空间来保存事件组的状态。事件组存储在一个 EventBits_t 类 型 的 变 量 中 , 该 变 量 在 事 件 组 结 构 体 中 定 义 。
  • 如 果 宏 configUSE_16_BIT_TICKS 定义为 1,那么变量 uxEventBits 就是 16 位的,其中有 8 个位用 来存储事件组
  • 如果宏 configUSE_16_BIT_TICKS 定义为 0,那么变量 uxEventBits 就是 32 位 的 , 其 中 有 24 个 位 用 来 存 储 事 件 组
  • 在 STM32 中 , 我 们 一 般 将 configUSE_16_BIT_TICKS 定义为 0,那么 uxEventBits 是 32 位的,有 24 个位用来实现事 件标志组。

2 函数说明: xEventGroupSetBits()与xEventGroupWaitBits()

  • xEventGroupSetBits image.png image.png
  • xEventGroupWaitBits image.png

3 示例

  • 句柄 image.png
  • 函数声明 image.png
  • Main image.png
  • 为了方便管理,所有的任务创建函数都放在这个函数里面 image.png
  • LED_Task image.png
  • KEY_Task image.png
  • 实验结果
  • image.png