天天看点

C语言 关键字 volatile (ARM9中也常用到 一并解释)

关键字volatile:

本质->

volatile 、 const 绝对对立。若有 volatile 修饰,则表示内存会重新装载内容,而非直接从寄存器copy内容。

这里引出一下->

const是什么?

1 const 定义

const 修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。

2 const 作用

可以定义 const 常量,具有不可变性。例如:

const int a = 100; a++会产生error。

3 常量解释

常量,例如6, “xiaoming”等,是只读的。因为是只读,所以被编译器放在内存中的只读区域,当然不可修改。

****应用举例:

volatile应用比较多的场合 比如->

U32 GPCON; //#define U32 unsigned int

U32 GPDAT;

U32 GPUDP;

U32 GPSEL;

}volatile GPIO_MemMapPtr;

使用volatile后 寄存器允许再次更新赋值。*