freeRtos中的队列从一开始也是互斥的,我的意思是,我应该创建某种互斥来写入或读取队列,还是已经由函数xQueueRead和xQueueSend实现。
问问题
775 次
2 回答
1
FreeRTOS 队列是线程安全的,您无需实现自己的锁定。请参阅有关队列的 FreeRTOS文档:
队列是任务间通信的主要形式。它们可用于在任务之间以及在中断和任务之间发送消息。在大多数情况下,它们被用作线程安全的 FIFO(先进先出)缓冲区
于 2014-07-06T09:50:22.867 回答
1
如果您查看“queue.c”中的源代码,您会注意到 xQueueGenericSend() 和 xQueueGenericReceive() 函数使用 tastENTER_CRITICAL()/taskEXIT_CRITICAL() 宏对来确保函数的原子操作,从某种意义上说,是你要求的那种互斥。
于 2014-06-12T11:21:55.913 回答