os_mailbox_init

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

API Metadata

函数ID:os_mailbox_init
模块:mailbox
类型:mailbox init
嵌套深度:1

函数简介

os_mailbox_init 用于初始化邮箱资源结构, 清空邮箱内容并重置等待队列状态。

该函数构建邮箱通信的基础结构,是邮箱机制的起始初始化接口。

函数原型

void os_mailbox_init(u8 mid);

参数说明

参数 说明
mid 邮箱ID(0 ~ OS_RESOURCE_MAX-1)

返回值

无返回值(void函数),初始化失败仅通过参数范围判断避免执行。

源码实现

#include "hrtos_internal.h" /* * 邮箱初始化(统一资源模型) */ void os_mailbox_init(u8 mid) { OS_RESOURCE *m; if (mid >= OS_RESOURCE_MAX) { return; } m = &OS_RES[mid]; m->value = 0; /* 邮箱初始为空 */ m->owner = OS_INVALID_ID; /* 不使用所有者概念 */ m->wait_mask = 0; /* 清空等待队列 */ m->wait_cnt = 0; }

使用示例

void system_init() { os_mailbox_init(0); }

注意事项

邮箱初始化不会自动加锁或关闭中断, 建议在系统初始化阶段统一调用,避免运行期竞争。

相关推荐