STM32 HAL freertos零基础(三) 队列
1、简介
在裸机开发时候,一般都是设定一个全局变量来数据修改传递等,但是在Freertos系统中,如果设定全局变量,当任务1对全局变量a进行操作,可能此时任务2也在对变量a进行操作,会出现问题,此时就需要队列。
队列可以用于在不同的任务之间或者任务和中断服务程序之间传递数据。
2、队列主要参数
2.1 出队、入队阻塞
当任务向一个队列发送消息时,可以指定一个阻塞时间,假设此时当队列已满无法入队。
阻塞时间如果设置: 0:直接返回不会等待;
0~port_MAX_DELAY:等待设定的阻塞时间,若在该时间内还无法入队,超时后直接返回不再等待;
port_MAX_DELAY:死等,一直等到可以入队为止。
2.2 创建队列
API:
QueueHandle_t xQueueCreate( UBaseType_t uxQueueLength,
UBaseType_t uxItemSize );
uxQueueL