volatile – 易变变量

说明

volatile这个关键字是变量修饰符,常用在变量类型的前面,以告诉编译器和接下来的程序怎么对待这个变量。

声明一个volatile变量是编译器的一个指令。(编译器是一个将你的C/C++代码转换成机器码的软件。机器码是arduino上的Atmega芯片能识别的真正指令。)
具体来说,该指令指示编译器从RAM而非存储寄存器中读取变量,存储寄存器是程序存储和操作变量的内存区域。

当一个变量的控制和改变可能来自程序代码以外的环境,比如在使用Arduino的中断功能时。ISR(中断服务程序)中所涉及的变量需要被声明为volatile易变变量。

示例程序