[STM8]

请教关于看门狗重启的问题

[复制链接]
5691|22
手机看帖
扫描二维码
随时随地手机跟帖
gfkdliling|  楼主 | 2011-11-17 16:45 | 显示全部楼层 |阅读模式
请问STM8看门狗重启以后有没有可以保持重启前数据的RAM?考虑过用EEPROM,不过如果擦写次数多的话怕芯片会坏。(程序特意设置的采用看门狗重启,每天有20多次)
gfkdliling|  楼主 | 2011-11-17 16:47 | 显示全部楼层
使用的是窗口看门狗

使用特权

评论回复
香水城| | 2011-11-17 17:01 | 显示全部楼层
看门狗复位不影响内部RAM的内容。

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-17 17:03 | 显示全部楼层
3# 香水城
非常感谢香水版主,也就是说随便一个标志位就可以区分咯

使用特权

评论回复
香水城| | 2011-11-17 17:23 | 显示全部楼层
3# 香水城  
非常感谢香水版主,也就是说随便一个标志位就可以区分咯
gfkdliling 发表于 2011-11-17 17:03


一个标志位就可以。但为了更加安全,可以考虑使用一个字符串,比如:“STMicroelectronics”。

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-17 17:49 | 显示全部楼层
一个标志位就可以。但为了更加安全,可以考虑使用一个字符串,比如:“STMicroelectronics”。
香水城 发表于 2011-11-17 17:23

香水版主,好像不行。看门狗复位以后RAM数据没有保存

使用特权

评论回复
香水城| | 2011-11-17 18:01 | 显示全部楼层
香水版主,好像不行。看门狗复位以后RAM数据没有保存
gfkdliling 发表于 2011-11-17 17:49


不可能。

你怎么知道没有保存?

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-17 18:17 | 显示全部楼层
不可能。

你怎么知道没有保存?
香水城 发表于 2011-11-17 18:01

系统上电运行以后设置了一串数字,然后启动看门狗复位,启动以后判断设置的那一串字符串 结果数据不是上电后设置的那一串数字

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-17 18:21 | 显示全部楼层
不可能。

你怎么知道没有保存?
香水城 发表于 2011-11-17 18:01

请问你指的不改变的地址是多少呢?通过仿真,我看到数据起始地址是0x53,看门狗复位以后变成了0

使用特权

评论回复
香水城| | 2011-11-17 20:31 | 显示全部楼层
看门狗复位后,你在哪里看的?运行了什么程序?

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-17 20:33 | 显示全部楼层
看门狗复位后,你在哪里看的?运行了什么程序?
香水城 发表于 2011-11-17 20:31

使用ST-LINK仿真看到的,启动看门狗复位程序可以重新从入口地址开始运行

使用特权

评论回复
ddapple| | 2011-11-18 09:37 | 显示全部楼层
1# gfkdliling
保存的数据有大概有多大?可以使用的EEROM有多大?

使用特权

评论回复
caner_hn| | 2011-11-18 13:00 | 显示全部楼层
我觉得调试看门狗根本就不该还用ST-LINK,直接全速运行,通过串口打印消息查看,

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-18 13:49 | 显示全部楼层
我觉得调试看门狗根本就不该还用ST-LINK,直接全速运行,通过串口打印消息查看,
caner_hn 发表于 2011-11-18 13:00

其实看门狗早就调通了,我只是想在程序启动时判断是上电复位还是看门狗复位(看门狗复位的话其实单片机是没有掉电的)

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-18 13:51 | 显示全部楼层
1# gfkdliling  
保存的数据有大概有多大?可以使用的EEROM有多大?
ddapple 发表于 2011-11-18 09:37

数据量倒是不大,就一个标示而已,用来判断是上电复位还是看门狗复位。EEPROM也考虑过,不过如果经常擦除和写数据,怕运行久了以后把这几位写坏了

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-18 13:54 | 显示全部楼层
看门狗复位后,你在哪里看的?运行了什么程序?
香水城 发表于 2011-11-17 20:31

香水版主是不是误解我的意思了,上电复位和看门狗复位确实都会清除从地址0x0000-0x07FF的RAM数据

使用特权

评论回复
香水城| | 2011-11-18 15:44 | 显示全部楼层
请你不要运行任何程序,包括启动程序! 通常启动程序会做清除RAM的动作。

使用特权

评论回复
gfkdliling|  楼主 | 2011-11-18 16:10 | 显示全部楼层
请你不要运行任何程序,包括启动程序! 通常启动程序会做清除RAM的动作。
香水城 发表于 2011-11-18 15:44

呵呵,谢谢。如果不运行程序怎么判断是上电复位还是看门狗复位呢?

使用特权

评论回复
香水城| | 2011-11-18 18:15 | 显示全部楼层
你自己修改启动程序嘛。

使用特权

评论回复
ddapple| | 2011-11-21 10:40 | 显示全部楼层
16# gfkdliling
如果数据量不大的话可以考虑采用这样的方式。。同样是使用EEROM,比如说你有需要存储的数据是10个字节的话,那么你就预备(10*10+1*10)个字节的空间咯。。然后你轮流使用每一个10字节进行读写,然后用1*10那10个字节来表示你当前正在使用的是哪10个字节的空间。。。。那么就相当于读写次数是原来的10倍了嘛。。。当然你如果能够掉电做到掉电能够RAM保持数据就最好啦,呵呵。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

187

帖子

1

粉丝