volatile 关键字

⚠️ 待完善
本笔记尚未添加内容。


基本概念

volatile关键字用于声明变量可以被意想不到地改变,告知编译器不要对该变量进行优化。

典型应用场景

  1. 硬件寄存器:映射到内存的硬件寄存器,其值可能随时被硬件改变
  2. 多线程共享变量:被多个线程访问和修改的变量
  3. 中断服务程序修改的变量:在中断中修改而在主程序中读取的变量

基本用法

1
2
volatile uint8_t *status_reg;
volatile bool flag;