找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1194|回复: 16
打印 上一主题 下一主题
收起左侧

众所周知,STC的单片机,把变量保存在xdata中,断电可以保存十几秒

  [复制链接]
跳转到指定楼层
楼主
ID:1130333 发表于 2025-10-24 19:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
众所周知,STC的单片机,把变量保存在xdata中,断电后可以保存十几秒,.
请教下各位大佬, 在stm32中, 有这个类似的操作吗? 比如定义某个变量, 断电后和STC的 xdata变量一样, 可以保存十几秒..
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:71233 发表于 2025-10-24 22:30 | 只看该作者
真的吗?有这种情况?
回复

使用道具 举报

板凳
ID:624769 发表于 2025-10-25 00:53 | 只看该作者
你这是电没断彻底,你断电后,短接单片机VCC到GND,这个过程用不了2秒,你立马再上电,你看看你变量还在么?
回复

使用道具 举报

地板
ID:69038 发表于 2025-10-25 09:03 | 只看该作者
众所周知,单片机的xdata也是RAM的同一类属,而RAM断电后,数据就会丢失的。。
回复

使用道具 举报

5#
ID:1130333 发表于 2025-10-25 11:15 | 只看该作者
188610329 发表于 2025-10-25 00:53
你这是电没断彻底,你断电后,短接单片机VCC到GND,这个过程用不了2秒,你立马再上电,你看看你变量还在么 ...

STC的单片机确实可以,
xdata可以保存十几秒, 同样的操作, data的数据,马上就复位了
回复

使用道具 举报

6#
ID:1130333 发表于 2025-10-25 11:16 | 只看该作者
zhuls 发表于 2025-10-25 09:03
众所周知,单片机的xdata也是RAM的同一类属,而RAM断电后,数据就会丢失的。。

按照你这个说法, 看来stm32是不行了.
只能用内部的eeprom或者加电容来实现了
回复

使用道具 举报

7#
ID:227818 发表于 2025-10-25 15:59 | 只看该作者
我猜是单片机进入掉电状态了,前几天我测过,STC的单片机这个状态下,电流不到1uA,电容上的电就可以维持许久了。
回复

使用道具 举报

8#
ID:1133081 发表于 2025-10-25 21:21 | 只看该作者
闻所未闻,断电后和STC的 xdata变量可以保存十几秒。怕是没彻底断电所致。就算是事实又能有什么用?
回复

使用道具 举报

9#
ID:584814 发表于 2025-10-26 11:36 | 只看该作者
扎心了。STC的xdata没电可以保存十几秒,居然还是众所周知
回复

使用道具 举报

10#
ID:1109793 发表于 2025-10-26 12:58 | 只看该作者
vb2002 发表于 2025-10-25 11:15
STC的单片机确实可以,
xdata可以保存十几秒, 同样的操作, data的数据,马上就复位了

其实DATA的也一样,只是复位后的启动代码自动把DATA清除了。
你根据芯片资料修改一下STARTUP.A51里面的XDATALEN后面的数字,复位后就都清零了。
当初研究看门狗复位后延续使用复位前的数据时研究过。在DATA里面保留一部分不清零的空间。
没记错的话默认的STARTUP.A51里面的XDATALEN后面是0.
IDATALEN也是80H吧
回复

使用道具 举报

11#
ID:1130333 发表于 2025-10-26 13:17 | 只看该作者
WL0123 发表于 2025-10-25 21:21
闻所未闻,断电后和STC的 xdata变量可以保存十几秒。怕是没彻底断电所致。就算是事实又能有什么用?

哥,要不咱试试再说,
stc , xdata变量, 不要赋值
在程序里面++   .
不要电容都行.
你关机10几秒,再开机, 看看变量
回复

使用道具 举报

12#
ID:1064915 发表于 2025-10-27 08:31 | 只看该作者
这个广告好
回复

使用道具 举报

13#
ID:624769 发表于 2025-10-27 09:25 | 只看该作者
vb2002 发表于 2025-10-26 13:17
哥,要不咱试试再说,
stc , xdata变量, 不要赋值
在程序里面++   .

都说了,你是电没断彻底,你短接VCC 和 GND 让电容彻底放完电,看看你XDATA 里面数据还在不在? 你二极管并一个CR2032 你断电后 XDATA 里的数据还能保存2年呢。
回复

使用道具 举报

14#
ID:1133081 发表于 2025-10-27 17:28 | 只看该作者
vb2002 发表于 2025-10-26 13:17
哥,要不咱试试再说,
stc , xdata变量, 不要赋值
在程序里面++   .

我确实没有试过,我相信你说的现象是真实的,但我在实践中有很多方法可以可靠的保存掉电数据,绝对不会利用这个未经生产商确认的功能保存掉电数据。如果把不可靠的功能运用到产品中就离丢饭碗不远了。
回复

使用道具 举报

15#
ID:996773 发表于 2025-10-28 09:04 | 只看该作者
WL0123 发表于 2025-10-27 17:28
我确实没有试过,我相信你说的现象是真实的,但我在实践中有很多方法可以可靠的保存掉电数据,绝对不会利 ...

你就让楼主去孜孜不倦去玩XDATA掉电保存好了,正儿八经代码不研究,喜欢走歪门邪道的人多呢。别人的不进则退就是等于提升自己
回复

使用道具 举报

16#
ID:22119 发表于 2025-10-28 13:13 来自触屏版 | 只看该作者
如果是事实,这条得比太上老君炼丹炉还要醒目
回复

使用道具 举报

17#
ID:123036 发表于 2025-10-28 14:04 | 只看该作者
stm32没听说过,但可以利用RTC 备份域寄存器。自己给bat加个小电容就行。
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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