我使用的是 F28235处理器,但我认为这个问题与什么处理器无关。
如果我设置了三个硬件设备,它们使用相同的 SPI 端口(使用不同的 CS)并使用信号来阻止和解除阻止各个任务。 因此,我在 每个任务中创建了一个 SEM_SPI,调用 semaphore_pet(SEM_SPI);并随机调用任务。 据我所知, 如果计数等于1,那么如果发布信号的两个或多个任务只有一个将运行,而其他任务将在堆栈上执行,以便在完成其他任务后执行-对,还是我错过了什么? 无论对还是错,都有一份好的文档可供参考,以充分了解最佳实践。
罗布