从队列读取消息:
从队列中读取消息的API接口函数有:
1,xQueueReceive()
作用:用于从队列中接收(读取)数据单元。接收到的单元同时会从队列
中删除。
函数原型:portBASE_TYPE xQueueReceive( xQueueHandle xQueue, const void * pvBuffer, portTickType xTicksToWait );
参数描述:
2,xQueuePeek()
作用:是从从队列中接收数据单元。xQueuePeek()从队列首接收到数据后,不会修改队列中的数据,也不会改变数据在队列中的存储序顺。
函数原型:portBASE_TYPE xQueuePeek( xQueueHandle xQueue, const void * pvBuffer, portTickType xTicksToWait );
参数描述:
3,xQueueGenericReceive()
作用:xQueueReceive()和xQueuePeek()其实是一个宏,正真被调用的函数是xQueueGenericReceive(),
函数原型:BaseType_t xQueueGenericReceive(QueueHandle_t xQueue,
Void* pvBuffer,
TickType_t TicksToWait,
BaseType_t xJustPeek);
参数描述:
4,xQueueReceiveFromISR()
作用:从队列中读取一个队列项并把该队列项从队列中删除。功能与xQueueReceive()相同,用于中断服务函数。
函数原型:
BaseType_t xQueueReceiveFromISR (QueueHandle_t xQueue,
void *pvBuffer, BaseType_t *pxHigherPriorityTaskWoken);
参数描述:
5,xQueuePeekFromISR()
作用:功能与xQueuePeek()相同,用于中断服务程序。
函数原型:
BaseType_t xQueuePeekFromISR(QueueHandle_t xQueue, void *pvBuffer,);
参数描述:
閱讀更多 智能硬件從業者 的文章