找回密码
 立即注册
查看: 1420|回复: 6

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

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2024-4-23 17:04:13 | 显示全部楼层 |阅读模式

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:676
  • 最近打卡:2026-05-11 09:08:16
已绑定手机

52

主题

2624

回帖

9135

积分

论坛元老

积分
9135
发表于 2024-4-23 18:13:59 | 显示全部楼层
xdata里面的数据默认上电不会清空,但是断电也不会保存的。
估计你断电的时间太短了些。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:739
  • 最近打卡:2026-05-10 00:42:46
已绑定手机

49

主题

2669

回帖

2782

积分

荣誉版主

积分
2782
发表于 2024-4-23 21:27:14 来自手机 | 显示全部楼层
板上滤波电容是不是有点大,放电不彻底也会造成数据残影,初始化外设的同时最好也做个软件初始化,把用到的变量都初始化一下
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:557
  • 最近打卡:2026-05-11 00:03:06
已绑定手机

15

主题

615

回帖

1612

积分

荣誉版主

积分
1612
发表于 2024-4-23 21:39:08 | 显示全部楼层
我用到的全局变量,全部声明到一个struct里面,上电的时候:执行一句:
mov是一个结构体变量.包含所有全局变量

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

然后再各种初始化.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:732
  • 最近打卡:2026-05-11 03:50:13
已绑定手机

17

主题

772

回帖

2831

积分

金牌会员

积分
2831
发表于 2024-4-24 08:23:32 | 显示全部楼层
ram数据重启后是不会保存的,使用前最后全部初始化一遍
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:295
  • 最近打卡:2026-04-24 10:33:24

3

主题

150

回帖

766

积分

高级会员

积分
766
发表于 2024-4-24 17:13:17 | 显示全部楼层
51也有个启动文件,你调用上并且把XDATA的起始地址和长度设置好
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:890
  • 最近打卡:2026-05-11 07:50:13
已绑定手机

59

主题

2037

回帖

3874

积分

论坛元老

积分
3874
发表于 2024-4-24 17:51:58 | 显示全部楼层
估计是断电时间短,数据还没有清除就又上电了
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-5-11 12:35 , Processed in 0.110798 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表