[PIC®/AVR®/dsPIC®产品] 请教变量值运行过程中被修改了问题

[复制链接]
1130|1
 楼主| mazy52 发表于 2015-8-5 09:08 | 显示全部楼层 |阅读模式
最近做一个工程,程序运行一段时间后发现其中一个变量(BatChgVol1) 的值莫名被修改为0,请教大侠分析可能是什么原因?使用片子PIC16F1936.程序如下:
定义宏:
// 电池充电电压控制阀值
#define BatChgVolThd1                                1380        // 电池充电电压阀值1(1380*0.01=13.8V)
#define BatChgVolThd2                                1340        // 电池充电电压阀值2(1350*0.01=13.5V)
程序中对变量赋值的地方:
BatChgVol1         = BatChgVolThd1;        // 电池充电电压阀值1    1380(13.80V)
BatChgVol2         = BatChgVolThd2;        // 电池充电电压阀值2    1330(13.30V)
使用BatChgVol1         变量的地方:
temp = BatChgVol1 - temp; //1380-temp
程序中只有上面这一处使用了BatChgVol1         的值,其他没有地方使用,当程序运行一点时间后,BatChgVol1的值莫名的变为0.
请问在单片机运行过程中什么原因会导致修改了该变量分配的地址内的值?
JY-DX-JY 发表于 2015-8-5 10:31 | 显示全部楼层
用volatile
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

4

帖子

0

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