os_event_query

所属模块:通信机制 | 类型:事件状态查询函数

API Metadata

函数ID:os_event_query
模块:event
类型:event query
嵌套深度:1

函数简介

os_event_query 用于查询指定事件是否已触发, 是事件机制中的状态读取接口。

该函数不修改事件状态,仅用于读取当前事件触发情况。

函数原型

char os_event_query(u8 obj);

参数说明

参数 说明
obj 事件ID(0 ~ OS_RESOURCE_MAX-1)

返回值

1 - 事件已触发
0 - 事件未触发
-1 - 参数错误

源码实现

#include "hrtos_internal.h" /* * 事件触发查询 */ char os_event_query(u8 obj) { if(obj >= OS_RESOURCE_MAX) { return -1; } if(OS_RES[obj].value != 0) { return 1; } return 0; }

使用示例

void task() { if(os_event_query(2)) { // 事件已触发 handle_event(); } }

注意事项

该函数仅用于查询,不会清除事件状态。 若需消费事件,请使用 os_event_clear。

相关推荐