os_mailbox_clear

所属模块:通信机制 | 类型:邮箱清理函数

API Metadata

函数ID:os_mailbox_clear
模块:mailbox
类型:mailbox clear
嵌套深度:1

函数简介

os_mailbox_clear 用于清空邮箱资源内容, 将邮箱状态恢复为未使用状态。

该函数通常用于通信结束后的资源复位操作, 防止旧数据残留影响下一次通信。

函数原型

char os_mailbox_clear(u8 mid);

参数说明

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

返回值

1 - 清空成功
-1 - 参数错误

源码实现

/*------------------------------------------------------------------------ | FILE DESCRIPTION | ------------------------------------------------------------------------*/ /*------------------------------------------------------------------------ | - File name : mailbox_clear.c | - Author : 谭舒 | - Update date : 2026-09-19 | - Copyright(C) : 2026 HRTOS. All rights reserved. ------------------------------------------------------------------------*/ /*------------------------------------------------------------------------ | INCLUDES | ------------------------------------------------------------------------*/ #include "hrtos_internal.h" /*------------------------------------------------------------------------ | API FUNCTIONS | ------------------------------------------------------------------------*/ /** * @brief 清除指定邮箱资源中的数据。 * * @param[in] mid 邮箱资源槽位编号。 * * @return 操作结果。 * @retval 1 邮箱清除成功。 * @retval -1 邮箱资源槽位编号无效。 * * @note 清除指定邮箱当前保存的数据,并将邮箱恢复为空状态。 */ char os_mailbox_clear(u8 mid) { OS_RESOURCE *m; /* 参数检查 */ if (mid >= OS_RESOURCE_MAX) { return -1; } m = &OS_RES[mid]; EA = 0; m->value = 0; EA = 1; return 1; } /*------------------------------------------------------------------------ | END OF FILE: mailbox_clear.c | ------------------------------------------------------------------------*/

使用示例

void task_cleanup() { os_mailbox_clear(1); }

注意事项

清空邮箱不会影响任务调度状态,仅重置数据内容。 调用前需确保当前通信已完成。

相关推荐