队列集概述
解决任务读取多个队列的卡死问题的办法
如下图 如果队列1为空则任务挂起则不能再读取2 3 4队列
API函数(创建队列集)
QueueSetHandle_t xQueueCreateSet( const UBaseType_t uxEventQueueLength )
API函数(加入队列集)
BaseType_t xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore,
QueueSetHandle_t xQueueSet );
API函数(读取队列集)
QueueSetMemberHandle_t xQueueSelectFromSet( QueueSetHandle_t xQueueSet,
TickType_t const xTicksToWait );
优化后的任务
通过读取对队列集可以在一个任务实现多个队列的检测
工程获取
查看下方头像