| 1234567891011121314151617181920212223242526272829303132 | #ifndef _MBOX_H#define _MBOX_H#include <stdint.h>#include "hw_cfg.h"struct MailBox{	uint32_t *msg_pool;	/* 邮件池, 存放邮件 */	uint16_t size;	/* 邮箱中收到的邮件条数 */	uint16_t max_size;	/* 邮件池容量, 单位条 */	uint16_t read_index;	uint16_t save_index;};typedef struct MailBox *Mbox_t;typedef enum{	MBOX_OK,	MBOX_ERR}Mbox_Err_t;#define Mbox_IrqDisable() __set_PRIMASK(1)#define Mbox_IrqEnable() __set_PRIMASK(0)Mbox_t Mbox_Create(const uint32_t size);Mbox_Err_t Mbox_Del(Mbox_t mb);Mbox_Err_t Mbox_Post(Mbox_t mb, const uint32_t msg);Mbox_Err_t Mbox_Pend(Mbox_t mb, uint32_t *msg);Mbox_Err_t Mbox_Accept(Mbox_t mb, uint32_t *msg);#endif  /* _MBOX_H */
 |