我熟悉比赛条件和著名的counter ++示例。 我的问题不是关于读写保护,而是关于读取保护。 是否可以通过中断读取损坏的值?万一另一个中断/主代码正处于更改其值的过程中? 我需要保护易失性组件的内容吗? 我正在使用C和ARM微控制器。
此外,如果只有一个任务正在对某个变量进行读写操作,而所有其他任务都仅在读取它,我是否需要保护它?
答案 0 :(得分:0)
这是我的方法:
do
{
Read_Flag = 0;
//Read operation
} while (Read_Flag);
将在ISR处设置Read_Flag,在该状态下将修改要读取的变量的值。