- volatile 关键字作用
volatile 是 C/C++ 关键字,用于告诉编译器:被修饰的变量是 "易变的",其值可能在程序未显式修改时发生变化(比如硬件寄存器值会被外设自动改变 )。
编译器默认会对变量进行优化(如缓存到寄存器 ),但硬件寄存器的值可能被硬件异步修改,加 volatile 可阻止编译器过度优化,确保每次都从内存(实际硬件寄存器映射的地址 )读取最新值。
示例:*(volatile int*)0x6000D204 ,通过指针操作硬件寄存器地址,volatile 保证每次访问都真实读写硬件,而非使用缓存值。