shuxiaoyue 发表于 2024-4-23 17:04:13

STC8G1K17A-8PIN,重启芯片后全局变量的值依然保持在


大家好,我用的STC8G1K17A-8PIN,定义了一个u16 xdata tram;的全局数组变量,单片机断电重启后,变量的值依然存在,这是正常的吗,我以前用的STM的断电就全清零了。
假如说断电后变量的值还可以保持,那不等同于eeprom储存的效果了?

乘风飞扬 发表于 2024-4-23 18:13:59

xdata里面的数据默认上电不会清空,但是断电也不会保存的。
估计你断电的时间太短了些。

晓飛飛 发表于 2024-4-23 21:27:14

板上滤波电容是不是有点大,放电不彻底也会造成数据残影,初始化外设的同时最好也做个软件初始化,把用到的变量都初始化一下

xiangzichen 发表于 2024-4-23 21:39:08

我用到的全局变量,全部声明到一个struct里面,上电的时候:执行一句:
mov是一个结构体变量.包含所有全局变量

for(i = 0;i < sizeof(mov);i++) *((u8*)&mov + i) = 0;

然后再各种初始化.

小飞侠 发表于 2024-4-24 08:23:32

ram数据重启后是不会保存的,使用前最后全部初始化一遍

咫尺天涯 发表于 2024-4-24 17:13:17

51也有个启动文件,你调用上并且把XDATA的起始地址和长度设置好

jwd 发表于 2024-4-24 17:51:58

估计是断电时间短,数据还没有清除就又上电了
页: [1]
查看完整版本: STC8G1K17A-8PIN,重启芯片后全局变量的值依然保持在