我正在尝试使用3个任务来实现freeRTOS。
如果没有任务3,我通过为读取任务分配更高的优先级来单独实现读写任务,并且运行良好。但是当我分配具有最低优先级的led任务(任务3)时,我的指示灯闪烁,写入和读取任务无法正常工作。
有人可以解释原因吗?
另外,我想与led任务并行执行写 - 读任务(具有相同的优先级)。
请帮我实施。
答案 0 :(得分:0)
您提供的信息非常少且不完整,因此可能存在许多问题。我正在学习FreeRTOS,所以我不是专家。在我看来,我觉得地址x的数据正在被破坏(由于任务的抢占),这就是写入和读取任务无法正常工作的原因。您需要实现 Mutex 或二进制信号量以互斥地址x。
注意: freeRTOS中没有名为 parallel execution 的东西。
尝试为所有三个互斥的任务提供相同的优先级
答案 1 :(得分:0)
您需要提供更多信息。
首先,对于1和2个任务,您需要使用互斥锁在任务之间共享资源。FreeRTOS Mutexes