從隊列讀取消息:
從隊列中讀取消息的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,);
參數描述:
閱讀更多 智能硬件從業者 的文章
關鍵字: xQueueReceive 原型 函數