2014-06-11 34 views

回答

1

如果您查看“queue.c”中的源代码,您会注意到xQueueGenericSend()和xQueueGenericReceive()函数正在使用tastENTER_CRITICAL()/ taskEXIT_CRITICAL()宏对来确保函数的原子操作,一种感觉,就是你所要求的互相排斥。

1

FreeRTOS队列是线程安全的,您不需要实现自己的锁定。有关队列请参见FreeRTOS documentation

队列是主要的任务间通信形式。它们可以是 用于在任务之间以及中断和任务之间发送消息。 在大多数情况下,它们用作线程安全FIFO(先进先出) 缓冲区