1、需要在OS_CFG.H中将OS_MBOX_EN置为1才能支持邮箱。
2、邮箱只有两种状态,满的状态(包含一个非空指针型变量),空的状态(内容为空指针NULL)。
3、有五个接口函数,分别是:OSMboxCreate(), OSMboxPost(), OSMboxPend(), OSMboxAccept(), OSMboxQuery()。
4、OSMboxCreate():原型为OS_EVENT *OSMboxCreate(void *msg),传入参数为邮箱的初始值,一般为NULL,返回的是事件控制块的起始地址。
5、OSMboxPost():原型为INT8U OSMboxPost (OS_EVENT *pevent,void *pmsg),发送一个消息到邮箱中,如果有任务在等待该消息,将其中的最高优先级任务从等待列表中删除,加入就绪列表,
6、OSMboxPend():原型为void *OSMboxPend (OS_EVENT *pevent,INT16U timeout, INT8U *err);若邮箱满,则返回将邮箱消息地址返回,若为空,则当前任务初阻塞,直到邮箱中有了消息或等待超时。
7、OSMboxAccept():原型为void *OSMboxAccept (OS_EVENT *pevent);无等待地请求邮箱消息,返回邮箱当前内容,若邮箱当前为空返回空指针。
8、OSMboxQuery():原型为OSMboxQuery (OS_EVENT *pevent,OS_MBOX_DATA *pdata) 查 询一个邮箱的状态。
9、OSMboxDel():原型为OSMboxDel (OS_EVENT *pevent, INT8U opt,INT8U *perr),删除一个邮箱,opt选项OS_DEL_NO_PEND时只有在没有任务在等待时删除邮箱,OS_DEL_ALWAYS时有任务在等待也删除邮箱,此时所有等待的任务都将进入就绪状态。