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

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

[复制链接]

1

主题

0

回帖

5

积分

新手上路

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

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:712
  • 最近打卡:2026-07-03 09:07:06
已绑定手机

50

主题

2691

回帖

9338

积分

论坛元老

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

使用道具 举报 送花

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

50

主题

2745

回帖

3039

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:594
  • 最近打卡:2026-07-05 10:46:15
已绑定手机

16

主题

636

回帖

1733

积分

荣誉版主

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

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

然后再各种初始化.
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:783
  • 最近打卡:2026-07-05 07:00:59
已绑定手机

16

主题

776

回帖

2954

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:297
  • 最近打卡:2026-06-13 10:50:51

3

主题

150

回帖

770

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:944
  • 最近打卡:2026-07-05 10:37:41
已绑定手机

61

主题

2089

回帖

3081

积分

论坛元老

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-5 14:15 , Processed in 0.073414 second(s), 72 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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