一、volatile关键字
(1)volatile作用
从单片机中直接存取原始内存地址,防止编译器的优化,导致声明的变量未被执行。
(2)格式

(3)表达

注:如果编译调试中,依旧存在程序被优化现象,可设置降低代码优化等级。

二、register关键字
(1)register作用
这个关键字请求编译器尽可能的将变量存在CPU内部寄存器中,而不是通过内存寻址访问,以提高效率。
注:注意是尽可能,不是绝对。

用法:为了提高精度,循环的次数越多越好,可以将循环的增量控制定义为寄存器变量register。
(2)格式

(3)表达

(4)例子

三、attribute关键字
(1)attribute作用用于给声明的数组、变量,指定具体的存储地址位置。
注:①attribute是用来指定变量或结构位域的特殊属性,该关键字后的双括弧中的内容是属性说明。
②at关键字可以用来设置变量的绝对地址,也就是通过这个关键字,指定某个变量处于内存里面的某个给定的地址。
(2)格式

(3)表达

指的是,将 array数组的首地址设定为0x0800C000.
注:该声明不可用于函数内的局部变量/形式参数。(函数内局部变量/形式参数,在函数调用时才声明入栈,调用结束后,会被出栈,无法指定具体地址)
-
单片机
+关注
关注
6074文章
45335浏览量
663330 -
调试
+关注
关注
7文章
623浏览量
35377 -
Register
+关注
关注
0文章
36浏览量
14363 -
关键字
+关注
关注
0文章
37浏览量
7170 -
volatile
+关注
关注
0文章
46浏览量
13620
发布评论请先 登录
C语言关键字volatile的用法
哪些场合会用到volatile关键字?
c语言中 volatile _Bool 关键字说明
【原创分享】单片机编程关键字之volatile
C语言volatile关键字详解 精选资料分享
volatile关键字应用场景及示例
C语言中__attribute__ 关键字的用法
一文详解volatile关键字

volatile、register和attribute关键字简介
评论