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