全局变量为何会被改写?

[复制链接]
 楼主| ningling_21 发表于 2011-10-11 20:13 | 显示全部楼层 |阅读模式

volatile uchar xdata Allow_vin,Allow_over_alli;      //告警允许抑制 Allow_in_mine

如题。
定义两个全局变量,位于片内外部RAM,C8051F340芯片。
程序运行过程中这两个全局变量不知神马原因被改写了,导致程序运行异常。

注:
调试时,除了初始化为0以外,改变这两个变量的地方都没有运行到。

望高手支招...
xhtxzxw 发表于 2011-10-11 21:01 | 显示全部楼层
可能是别的指针指到它俩了,或者数组出界覆盖它俩了,把指针操作、数组操作暂时注释了,再试试看就知道是不是这个问题了吧
原野之狼 发表于 2011-10-11 22:30 | 显示全部楼层
检查两个地方:
1、所有用到数组的地方
2、所有用到指针的地方
ejack 发表于 2011-10-12 07:42 | 显示全部楼层
这种情况99%是野指针,1%是优化出了劳什子纰漏……
 楼主| ningling_21 发表于 2011-10-12 09:28 | 显示全部楼层
TKS
好就按楼上几位的建议试试...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5014

主题

17806

帖子

51

粉丝
快速回复 在线客服 返回列表 返回顶部