os_mailbox_clear
所属模块:通信机制 | 类型:邮箱清理函数
函数简介
os_mailbox_clear 用于清空邮箱资源内容,
将邮箱状态恢复为未使用状态。
该函数通常用于通信结束后的资源复位操作,
防止旧数据残留影响下一次通信。
函数原型
char os_mailbox_clear(u8 mid);
参数说明
| 参数 |
说明 |
| mid |
邮箱ID(0 ~ OS_RESOURCE_MAX-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);
}
注意事项
清空邮箱不会影响任务调度状态,仅重置数据内容。
调用前需确保当前通信已完成。