RTOS中队列、邮件、软件定时器与内存管理的深入解析
1. 队列和邮件在Mbed OS中的应用
在Mbed OS里,队列和邮件是实现任务间通信的重要工具。
1.1 队列函数
Mbed OS提供了一系列与队列使用相关的函数,具体如下:
| 函数名 | 功能 |
| — | — |
| Queue()
| 创建并初始化队列对象 |
| empty()
| 检查队列是否为空 |
| full()
| 检查队列是否已满 |
| count()
| 获取队列中可用槽位的数量 |
| try_put(T *data, uint8_t prio=0)
| 将给定指针指向的数据放入队列,输入优先级用于插入时对传入数据进行排序,若队列已满则立即返回 |
| try_put_for(Kernel::Clock::duration_u32 rel_time , T *data, uint8_t prio=0)
| 与 try_put
用法相同,但会等待直到超时值过期 |
| try_get(T **data_out)
| 从队列中检索数据并存储到给定指针指向的位置,若队列为空则立即返回 |
| try_get_for(Kernel::Clock::duration_u32 rel_time , T ** data_out)
| 与 <