单片机/MCU论坛
直播中

孙奕

7年用户 855经验值
私信 关注
[问答]

单片机中什么情况下会使用volatile定义变量?

单片机中什么情况下会使用volatile定义变量

回帖(1)

李国东

2023-10-16 10:58:34
volatile是易变的、易挥发的意思,它修饰的变量,告诉编译器不可以优化掉,每次读变值时必然从变量地址去读。
一般说来,volatile关键字用在如下的几个地方。
(1)中断服务程序中修改的供其他程序检测的变量需要加volatile。
(2)多任务环境下各任务间共享的标志应该加volatile。
(3)存储器映射的硬件寄存器通常也要加volatile说明,因为每次对它的读写都可能有不同意义。 
举报

更多回帖

发帖
×
20
完善资料,
赚取积分