Freertos的队列的具体实现

阅读queue.c可以看到,版本V10.0.1

#define xQueueSendToFront( xQueue, pvItemToQueue, xTicksToWait ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )

#define xQueueSendToBack( xQueue, pvItemToQueue, xTicksToWait ) xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )

 

xQueueReceive(): Receive (read) an item from a queue.

xQueueSend(), xQueueSendToFront(), xQueueSendToBack(): Sends (writes) an item to the front or the back of a queue.


Queue有两个状态:
empty - errQUEUE_EMPTY

full - errQUEUE_FULL
在向队列里面写入item的时候,prvCopyDataToQueue,会将uxMessagesWaiting加1.


暂时不懂xQueueGiveFromISR的具体作用

posted @ 2022-03-24 16:41  panrui  阅读(113)  评论(0)    收藏  举报