找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1980|回复: 3
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
ID:636538 发表于 2020-1-8 13:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机中什么情况下会使用volatile,定义变量
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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