推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

AVR单片机GCC程序设计.

更新时间:2019-05-20 23:28:01 大小:5M 上传用户:sun2152查看TA发布的资源 标签:avr单片机gcc程序设计 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

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

【关注B站账户领20积分】

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • sd-hyc 打赏1.00元   3天前

    资料:神州易刻2024最新版

  • 柏涵 打赏1.00元   3天前

    资料:XDS100_v1_1_RTM

  • 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

推荐下载