FreeRTOS学习(1)---FreeRTOS队列(二)

从队列读取消息:

从队列中读取消息的API接口函数有:

1,xQueueReceive()

作用:用于从队列中接收(读取)数据单元。接收到的单元同时会从队列

中删除。

函数原型:portBASE_TYPE xQueueReceive( xQueueHandle xQueue, const void * pvBuffer, portTickType xTicksToWait );


参数描述:


FreeRTOS学习(1)---FreeRTOS队列(二)


2,xQueuePeek()

作用:是从从队列中接收数据单元。xQueuePeek()从队列首接收到数据后,不会修改队列中的数据,也不会改变数据在队列中的存储序顺。

函数原型:portBASE_TYPE xQueuePeek( xQueueHandle xQueue, const void * pvBuffer, portTickType xTicksToWait );

参数描述:


FreeRTOS学习(1)---FreeRTOS队列(二)


3,xQueueGenericReceive()

作用:xQueueReceive()和xQueuePeek()其实是一个宏,正真被调用的函数是xQueueGenericReceive(),

函数原型:BaseType_t xQueueGenericReceive(QueueHandle_t xQueue,

Void* pvBuffer,

TickType_t TicksToWait,

BaseType_t xJustPeek);

参数描述:


FreeRTOS学习(1)---FreeRTOS队列(二)


4,xQueueReceiveFromISR()

作用:从队列中读取一个队列项并把该队列项从队列中删除。功能与xQueueReceive()相同,用于中断服务函数。

函数原型:

BaseType_t xQueueReceiveFromISR (QueueHandle_t xQueue,

void *pvBuffer, BaseType_t *pxHigherPriorityTaskWoken);

参数描述:


FreeRTOS学习(1)---FreeRTOS队列(二)



5,xQueuePeekFromISR()

作用:功能与xQueuePeek()相同,用于中断服务程序。

函数原型:

BaseType_t xQueuePeekFromISR(QueueHandle_t xQueue, void *pvBuffer,);

参数描述:


FreeRTOS学习(1)---FreeRTOS队列(二)


FreeRTOS学习(1)---FreeRTOS队列(二)


分享到:


相關文章: