os_mail_clear
所属模块:通信机制 | 类型:邮箱控制函数
函数简介
os_mail_clear 用于清除指定邮箱中的数据,
将邮箱恢复为初始空状态。
该函数适用于消息已处理完毕后进行清理,
防止旧数据被重复读取。
函数原型
char os_mail_clear(u8 id);
参数说明
| 参数 |
说明 |
| id |
邮箱ID(支持私有 / 公共 / 扩展邮箱) |
源码实现
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);
}
}
注意事项
清除邮箱后数据将丢失,请确保消息已被正确处理后再调用该函数。