os_mail_clear

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

函数简介

os_mail_clear 用于清除指定邮箱中的数据, 将邮箱恢复为初始空状态。

该函数适用于消息已处理完毕后进行清理, 防止旧数据被重复读取。

函数原型

char os_mail_clear(u8 id);

参数说明

参数 说明
id 邮箱ID(支持私有 / 公共 / 扩展邮箱)

返回值

0 表示成功,-1 表示参数非法。

源码实现

char os_mail_clear(u8 id) { if(id < OS_INFORMATION_PRIVATE) { OS_INFORMATION[id] = 0; return 0; } id -= OS_INFORMATION_PRIVATE; if(id < OS_INFORMATION_PUBLIC) { OS_INFORMATION_COMMON[id] = 0; return 0; } id -= OS_INFORMATION_PUBLIC; if(id < OS_INFORMATION_PUBLIC2) { OS_INFORMATION_COMMON2[id] = 0; return 0; } return -1; }

使用示例

void task1() { int data = os_mail_recv(0); if(data != 0) { // 处理数据 os_mail_clear(0); } }

注意事项

清除邮箱后数据将丢失,请确保消息已被正确处理后再调用该函数。

相关推荐