使用volatile,不让编译器进行优化,每次读取或修改值得时候,都必须重新从内存或寄存器读取或修改,而非从缓存处读取过期的值,保证每次读取的值绝对是实时的。
一般,出现在如下几个地方:
1.中断服务程序中修改的供其它程序检测的变量
2.多任务环境下各任务间共享的标志
3.存储器映射的硬件寄存器
使用volatile,不让编译器进行优化,每次读取或修改值得时候,都必须重新从内存或寄存器读取或修改,而非从缓存处读取过期的值,保证每次读取的值绝对是实时的。
一般,出现在如下几个地方:
1.中断服务程序中修改的供其它程序检测的变量
2.多任务环境下各任务间共享的标志
3.存储器映射的硬件寄存器