os_event_set
所属模块:通信机制 | 类型:事件控制函数
函数简介
os_event_set 用于设置指定事件标志位,
用于通知其他任务某个事件已经发生。
该函数是事件系统的触发入口,
常用于中断、任务间通信或状态变化通知。
函数原型
char os_event_set(u8 id);
源码实现
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 手动复位。