- 1
- 2
- 3
- 4
- 5
AVR单片机GCC程序设计.
资料介绍
AVR-GCC中如何使用volatile关键字
volatile的字面含义是易变的,那么将一个变量指示为volatile是什么意思呢?是告诉编译器这个变量是易变的?事实上也是如此。在多任务、中断等环境下,变量可能被其他的任务改变,而编译器无法发现,volatile就是告诉编译器这个变量在其它任务(或中断)中可能要修改。
使用volatile是与编译器优化有关系的。先看看下面的例子:
编译器没有生成gFlag=1的机器码,在优化过程中gFlag=1被忽略了。在一般的C程序中这是没有问题的,但是如果gFlag是个单片机I/O口变量那就麻烦了,本来想从/0口输出一逻辑正脉冲的程序就这样被编译器优化掉了,显然不是我们所希望的。这时候该怎么办呢?请拿出利剑volatile,他能处理我们所遇到的麻烦。
将unsigned char gFlag=0;该为volatile unsigned char gFlag=0;后编译所产生的汇编代码如下:
部分文件列表
文件名 | 大小 |
AVR单片机GCC程序设计.pdf | 5M |
最新上传
-
sd-hyc 打赏1.00元 3天前
资料:神州易刻2024最新版
-
柏涵 打赏1.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:jh0355
-
21ic下载 打赏310.00元 3天前
用户:w178191520
-
21ic下载 打赏210.00元 3天前
用户:gsy幸运
-
21ic下载 打赏210.00元 3天前
用户:zhengdai
-
21ic下载 打赏210.00元 3天前
用户:jh03551
-
21ic下载 打赏110.00元 3天前
用户:liqiang9090
-
21ic下载 打赏60.00元 3天前
用户:sun2152
-
21ic下载 打赏60.00元 3天前
用户:xuzhen1
-
21ic下载 打赏80.00元 3天前
用户:xzxbybd
-
21ic下载 打赏25.00元 3天前
用户:WK520077778
-
21ic下载 打赏20.00元 3天前
用户:w1966891335
-
21ic下载 打赏20.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏20.00元 3天前
用户:玉落彼岸
-
21ic下载 打赏15.00元 3天前
用户:kk1957135547
-
21ic下载 打赏10.00元 3天前
用户:zpf22332
-
21ic下载 打赏5.00元 3天前
用户:pangpidan
-
21ic下载 打赏5.00元 3天前
用户:hpxny
-
21ic下载 打赏5.00元 3天前
用户:pandq2009
-
21ic下载 打赏5.00元 3天前
用户:tomp
-
21ic下载 打赏310.00元 3天前
用户:小猫做电路
-
21ic子站宣传员 打赏15.00元 3天前
-
106982800 打赏1.00元 3天前
-
llyy232008 打赏3.00元 3天前
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:温控制冷箱单片机程序
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏20.00元 3天前
-
21ic小能手 打赏10.00元 3天前
资料:红外遥控接收实验
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
资料:格力凉之静外机原理图
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏5.00元 3天前
全部评论(0)