C51中断

steve_cys 2008-06-27 09:35:04
在C51中断函数中,能否改变全局变量的值,若能是不是该变量必须声明为volatile?
...全文
405 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbing7 2008-06-30
  • 打赏
  • 举报
回复
在中断里改全局变量要小心哈

很多郁闷的时候都出于这里

呵呵
sherlock_lai 2008-06-28
  • 打赏
  • 举报
回复
全局变量是放RAM里的 当然能改
shuiyan 2008-06-27
  • 打赏
  • 举报
回复
可以改变全局变量。该变量如果是你自己定义的普通类型变量,就不需要设volatile。
所谓需要volatile的,是可能会被“非编译器系统管理的设备”改变的,比如IO口,会被外部设备拉高拉低,这个改动不是编译系统在编译过程中能分辨出来的。所以才要求随时取值。
cbsqty 2008-06-27
  • 打赏
  • 举报
回复
楼上是高手,说的很对

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧