os_event_set

所属模块:通信机制 | 类型:事件控制函数

函数简介

os_event_set 用于设置指定事件标志位, 用于通知其他任务某个事件已经发生。

该函数是事件系统的触发入口, 常用于中断、任务间通信或状态变化通知。

函数原型

char os_event_set(u8 id);

参数说明

参数 说明
id 事件ID(0~15)

返回值

0 表示成功,-1 表示参数非法。

源码实现

char os_event_set(u8 id) { if(id > 15) return -1; OS_EVENT_BIT |= (1 << id); return 0; }

使用示例

void interrupt_handler() { // 触发事件 os_event_set(1); } void task1() { while(1) { if(os_event_get(1)) { // 处理事件 os_event_clear(1); } } }

注意事项

事件标志不会自动清除,必须由应用层调用 os_event_clear 手动复位。

相关推荐