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

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

[复制链接]

1

主题

0

回帖

5

积分

新手上路

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

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:445
  • 最近打卡:2025-06-17 12:12:21
已绑定手机

40

主题

2060

回帖

7089

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:461
  • 最近打卡:2025-06-18 01:15:53
已绑定手机

38

主题

2222

回帖

2671

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:349
  • 最近打卡:2025-06-16 21:51:14
已绑定手机

14

主题

600

回帖

2257

积分

荣誉版主

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

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

然后再各种初始化.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:441
  • 最近打卡:2025-06-17 01:35:04
已绑定手机

17

主题

714

回帖

1245

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:269
  • 最近打卡:2025-06-17 15:02:53

3

主题

155

回帖

635

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:565
  • 最近打卡:2025-06-17 07:50:58
已绑定手机

50

主题

1816

回帖

3134

积分

论坛元老

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-18 03:11 , Processed in 0.188987 second(s), 94 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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