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隊列(二)


分享到:


相關文章: