os_event_init

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

API Metadata

函数ID:os_event_init
模块:event
类型:event init
嵌套深度:2

函数简介

os_event_init 用于初始化事件资源槽位, 在关闭中断保护下对资源结构进行安全重置。

该函数用于事件系统初始化或运行时重建资源状态。

函数原型

char os_event_init(u8 obj);

参数说明

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

返回值

1 - 初始化成功
-1 - 参数错误

源码实现

/*------------------------------------------------------------------------ | FILE DESCRIPTION | ------------------------------------------------------------------------*/ /*------------------------------------------------------------------------ | - File name : event_init.c | - Author : 谭舒 | - Update date : 2026-09-19 | - Copyright(C) : 2026 HRTOS. All rights reserved. ------------------------------------------------------------------------*/ /*------------------------------------------------------------------------ | INCLUDES | ------------------------------------------------------------------------*/ #include"hrtos_internal.h" /*------------------------------------------------------------------------ | API FUNCTIONS | ------------------------------------------------------------------------*/ /** * @brief 初始化指定的事件资源。 * * @param[in] obj 事件资源槽位编号。 * * @return 操作结果。 * @retval 1 初始化成功。 * @retval -1 事件资源槽位编号无效。 */ char os_event_init(u8 obj)//事件初始化 { if(obj >= OS_RESOURCE_MAX) { return -1; } EA = 0; os_res_init(&OS_RES[obj]); EA = 1; return 1; } /*------------------------------------------------------------------------ | END OF FILE: event_init.c | ------------------------------------------------------------------------*/

使用示例

void system_init() { os_event_init(2); }

注意事项

初始化过程中关闭中断(EA=0)以避免资源竞争, 初始化完成后必须恢复中断状态。

相关推荐