简介
- 邮箱是用来传输邮件的,如果没人取件,会暂存下来。
- RT-Thread的邮箱,传递的是一个4字节(32位)值,可以传值,可以传指针(32位MCU,指针为32位)。
- 邮箱使用比消息队列更精简,简单的命令的传输,可以使用邮箱,资源占用可以更小。
相关API
- 在rt-thread内核代码:
rtthread.h
中,可以找到邮箱的各个API - 邮箱API的实现,在:
ipc.c
,可以认为邮箱属于线程间通信的一种。 - 邮箱:mailbox相关API如下
rt_mb_init \ rt_mb_detach :静态初始化 \ 脱离,成对使用。
rt_mb_create \ rt_mb_delete : 动态创建 \ 删除,成对使用。
一般邮箱初始化后,就不再删除,可以使用静态初始化的方式。
rt_mb_send : 发送邮件,可以工作在在线程、回调函数里
rt_mb_send_wait :有超时的发送,工作在线程
rt_mb_recv :等待接收邮件,注意是队列式的接收,工作在线程里,循环等待接收
rt_mb_control : 提供一个初始化RESET邮箱的命令,不常用。
- 开来,邮箱的API,