4359|9

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

中断中数据丢失 [复制链接]

我建立了一个全局变量,主程序和中断都用到了该变量,中断这后对该全局变量进行赋值,但是出了中断之后该变量又变成中断前的值了,好像是中断完成后,堆栈中的数据又将变量还原了,如果要让主程序得到的变量值是中断之后的值,该变量怎么声明???

最新回复

全局中断不需要返回。单步调试一下看看,是否跳出中断以后有一个赋初始值的语句。  详情 回复 发表于 2007-7-3 15:51
点赞 关注

回复
举报

59

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
如果是全局变量,应该不会出现你所说的数据丢失问题吧,我调试中全局变量没有数据丢失,会不会是你的程序有问题呢?
另外中断子函数和一般子函数没有本质上的区别,如果要返回一个参数,设个变量return一个就行了,如果要返回多个参数可以返回指向数组或结构的指针。
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
试试给全局变量加上volatile
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
楼上正解
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

5
 
最坏的结果~

PC指针溢出
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
堆栈中的数据又将变量还原了,

单片机里这个应该不存在,栈的这个问题...
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

7
 
全局变量问题,会存在多处修改,有时候并不是你的中断没修改,或是改了被别的你没注意的东西再改回来!!!
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
没必要加volidate,要么是你其它什么地方改过了,或是设置你的SP,看看是不是它溢出
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

9
 
还有种是程序写的有问题~!~
主的和中断中时间有冲突~!~条件没设好!~
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

10
 
全局中断不需要返回。单步调试一下看看,是否跳出中断以后有一个赋初始值的语句。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表