事件集:一对多,多对一,多对多信号量,处理时,就需要用到信号量
struct rt_event
{
struct rt_ipc_object parent; /**< inherit from ipc_object */
rt_uint32_t set; /**< event set */
};
//创造和删除
rt_err_t rt_event_init(rt_event_t event, const char *name, rt_uint8_t flag)
rt_err_t rt_event_detach(rt_event_t event)
rt_event_t rt_event_create(const char *name, rt_uint8_t flag)
rt_err_t rt_event_delete(rt_event_t event)
// 发送事件对应的对应的事件
rt_err_t rt_event_send(rt_event_t event, rt_uint32_t set)
事件的接受:类似于接受对应的信号量 ,主语逻辑与,逻辑或
rt_err_t rt_event_recv(rt_event_t event,
rt_uint32_t set,
rt_uint8_t option,
rt_int32_t timeout,
rt_uint32_t *recved)