XFusion API v1.3.0
|
事件标志可以同步线程。 更多...
#include "xf_osal_def.h"
结构体 | |
struct | _xf_osal_event_attr_t |
事件标志的属性结构。 更多... | |
宏定义 | |
#define | MAX_BITS_EVENT_GROUPS 24U |
FreeRTOS 对接中,事件组里用户可用的位数(bit0 ~ bit23)。 | |
#define | XF_OSAL_EVENT_FLAGS_INVALID_BITS (~((1UL << MAX_BITS_EVENT_GROUPS) - 1U)) |
FreeRTOS 对接里,无效(保留)事件位掩码(bit24 ~ bit31)。 | |
类型定义 | |
typedef void * | xf_osal_event_t |
事件句柄。 | |
typedef struct _xf_osal_event_attr_t | xf_osal_event_attr_t |
事件标志的属性结构。 | |
函数 | |
xf_osal_event_t | xf_osal_event_create (const xf_osal_event_attr_t *attr) |
创建并初始化事件标志对象。 | |
xf_err_t | xf_osal_event_set (xf_osal_event_t event, uint32_t flags) |
设置指定的事件标志。 | |
xf_err_t | xf_osal_event_clear (xf_osal_event_t event, uint32_t flags) |
清除指定的事件标志。 | |
uint32_t | xf_osal_event_get (xf_osal_event_t event) |
获取当前事件标志。 | |
xf_err_t | xf_osal_event_wait (xf_osal_event_t event, uint32_t flags, uint32_t options, uint32_t timeout) |
等待一个或多个事件标志发出信号。 | |
xf_err_t | xf_osal_event_delete (xf_osal_event_t event) |
删除事件标志对象。 | |
事件标志可以同步线程。
XF_OSAL 中的事件标志管理功能允许您控制或等待事件标志。 每个信号最多有 31 个事件标志(实际可用个数根据对接平台决定)。
对于线程:
当线程唤醒并恢复执行时,其信号标志会自动清除(除非指定了 XF_OSAL_NO_CLEAR. )。
在文件 xf_osal_event.h 中定义.