事件
事件简介
事件是一种实现任务间通信的机制,主要用于实现多任务间的同步,但事件通信只能是事件类型的通信,无数据传输。与信号量不同的是,它可以实现一对多,多对多的同步。
configUSE_16_BIT_TICKS 定义为 0,那么 uxEventBits 是 32 位的,有 24 个位用来实现事件标志组。
一对多同步模型:一个任务等待多个事件的触发,这种情况是比较常见的;多对多同步模型:多个任务等待多个事件的触发。
- FreeRTOS 提供的事件具有如下特点:
事件控制块
常用事件API函数
事件创建函数 xEventGroupCreate()
事件删除函数 vEventGroupDelete()
事件组置位函数 xEventGroupSetBits()
事件组置位函数 xEventGroupSetBitsFromISR()
等待事件函数 xEventGroupWaitBits()
xEventGroupClearBits()与 xEventGroupClearBitsFromISR()