首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在微控制器中捕捉到意外的重置?

如何在微控制器中捕捉到意外的重置?
EN

Stack Overflow用户
提问于 2016-05-06 08:14:03
回答 1查看 267关注 0票数 0

我正在使用一个MCF51EM256 Freescale微控制器,我在flash编程方面遇到了一些问题。

为了使我的软件持久,我试图将一些变量存储在外部闪存中,以便从意外关闭中恢复。

有时,当我测试我的工作关闭单片机,它是不断重置。这可能是由于在关机期间写入任何闪存地址时出错造成的,在关机后无法正确读取。

我的问题是,有一种方法可以抓住这个致命的异常,这会导致我的微电脑复位?

MCF51EM256参考手册

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-06 08:54:25

如果所描述的行为确实是由您假设的原因引起的,您可以保护自己不使用不定期写入的值,在闪存结束时使用一个“神奇的单词”写到一个已知的位置。

在关机时,清除“魔术单词”,然后像前面那样闪烁存储的值,最后将“魔术单词”(像0x31419265)写到一个已知的闪存位置。

启动时,检查此值。如果它是您所期望的值,您可以使用其他变量,如果不是,您必须假设闪存失败并忽略它们(我假设您需要一些合理的缺省值)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37067471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档