最近做一个工程,程序运行一段时间后发现其中一个变量(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.
请问在单片机运行过程中什么原因会导致修改了该变量分配的地址内的值? |