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

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

[复制链接]

1

主题

0

回帖

5

积分

新手上路

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

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:480
  • 最近打卡:2025-08-01 08:54:12
已绑定手机

44

主题

2132

回帖

7423

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:501
  • 最近打卡:2025-08-01 01:53:57
已绑定手机

38

主题

2370

回帖

3086

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:358
  • 最近打卡:2025-08-01 09:12:02
已绑定手机

14

主题

605

回帖

723

积分

荣誉版主

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

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:484
  • 最近打卡:2025-08-01 02:03:02
已绑定手机

17

主题

717

回帖

1533

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-07-18 10:16:55

3

主题

155

回帖

671

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:610
  • 最近打卡:2025-08-01 12:26:36
已绑定手机

54

主题

1875

回帖

3444

积分

论坛元老

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-1 23:31 , Processed in 0.130290 second(s), 94 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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