打印
[PIC®/AVR®/dsPIC®产品]

请教变量值运行过程中被修改了问题

[复制链接]
938|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

粉丝