STC8G1K17A-8PIN,重启芯片后全局变量的值依然保持在
大家好,我用的STC8G1K17A-8PIN,定义了一个u16 xdata tram;的全局数组变量,单片机断电重启后,变量的值依然存在,这是正常的吗,我以前用的STM的断电就全清零了。
假如说断电后变量的值还可以保持,那不等同于eeprom储存的效果了?
xdata里面的数据默认上电不会清空,但是断电也不会保存的。
估计你断电的时间太短了些。 板上滤波电容是不是有点大,放电不彻底也会造成数据残影,初始化外设的同时最好也做个软件初始化,把用到的变量都初始化一下 我用到的全局变量,全部声明到一个struct里面,上电的时候:执行一句:
mov是一个结构体变量.包含所有全局变量
for(i = 0;i < sizeof(mov);i++) *((u8*)&mov + i) = 0;
然后再各种初始化. ram数据重启后是不会保存的,使用前最后全部初始化一遍 51也有个启动文件,你调用上并且把XDATA的起始地址和长度设置好 估计是断电时间短,数据还没有清除就又上电了
页:
[1]