Arduino笔记@volatile关键字笔记

前言

本文是个人学习笔记,是通过观看B站UP主(孤独的二进制)的教学视频后所写。

平常使用Arduino编程时,知道有volatile这个关键字,知道它的意思是可变的,但是并未深究它的真正作用,平常也很少用到它,为了弥补基础知识盲区,特作学习以记之。

volatile介绍

从单词的中文释义上,它是指:易挥发的,易变的。

volatile 关键字和const 一样是一种类型修饰符,用它修饰的变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。

在Arduino C中,被它修饰的变量,作用可以概括为以下两点:

  • 告诉编译器被修饰的变量不能被优化
  • 被修饰变量的读和写是直接通过内存,不能通过寄存器或缓存

中断中的变量尽量使用volatile修饰

编程对比

编写一个超鸡简单的程序来体验一下,有没有volatile修饰带来的效果:

  • 未使用volatile修饰

  • 使用volatile修饰

补充

从存储结构上看,volatile修饰的变量所在区域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值