找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1770|回复: 3
收起左侧

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

[复制链接]
ID:636538 发表于 2020-1-8 13:06 | 显示全部楼层 |阅读模式
单片机中什么情况下会使用volatile,定义变量
回复

使用道具 举报

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

评分

参与人数 1黑币 +12 收起 理由
SKYLAR123 + 12

查看全部评分

回复

使用道具 举报

ID:682588 发表于 2020-1-9 16:04 | 显示全部楼层
一般对于寄存器变量,典型的就是串行输入输出口的缓存器 都需要使用volatile关键字修饰

评分

参与人数 1黑币 +5 收起 理由
SKYLAR123 + 5

查看全部评分

回复

使用道具 举报

ID:324988 发表于 2020-7-13 17:05 | 显示全部楼层
直接存取原始内存地址

评分

参与人数 1黑币 +7 收起 理由
SKYLAR123 + 7

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表