打印

各位大神请问MSP430单片机如何在复位时判断复位源?

[复制链接]
2505|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xia_kang|  楼主 | 2015-4-17 21:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用if(IFG1 & WDTIFG == WDTIFG)可以吗
最近在做一个系统,要求在程序异常后看门狗复位时能够保存某些变量的值,以便系统重启后能够接着之前的状态运行。这两天一直在纠结该如何实现这个功能,希望各位大牛能够不吝赐教,指导一二,感激不尽。

相关帖子

沙发
xia_kang|  楼主 | 2015-4-18 09:34 | 只看该作者
没人吗?我先顶一下

使用特权

评论回复
板凳
dirtwillfly| | 2015-4-18 23:04 | 只看该作者
想重启后接着运行,和复位源没关系啊
可以把变量存储在固定的flash地址上。

使用特权

评论回复
地板
xia_kang|  楼主 | 2015-4-19 09:35 | 只看该作者
dirtwillfly 发表于 2015-4-18 23:04
想重启后接着运行,和复位源没关系啊
可以把变量存储在固定的flash地址上。 ...

但是变量总得赋初值吧,我是想判断如果是上电复位就重新给变量赋个初值,若是看门狗复位就可以不管

使用特权

评论回复
5
dirtwillfly| | 2015-4-19 10:18 | 只看该作者
可以通过读取相应寄存器来判断复位源,MSP430F6系列好像是SYSRSTIV。
不清楚你用的具体型号,可以在手册里找到的相关寄存器的。

使用特权

评论回复
6
xia_kang|  楼主 | 2015-4-19 10:47 | 只看该作者
dirtwillfly 发表于 2015-4-19 10:18
可以通过读取相应寄存器来判断复位源,MSP430F6系列好像是SYSRSTIV。
不清楚你用的具体型号,可以在手册里 ...

我用的是MSP430F2619的,好像是可以通过读取IFG1寄存器来判断,就是不确定,所以请教下。

使用特权

评论回复
7
xia_kang|  楼主 | 2015-4-19 12:00 | 只看该作者
xia_kang 发表于 2015-4-19 10:47
我用的是MSP430F2619的,好像是可以通过读取IFG1寄存器来判断,就是不确定,所以请教下。 ...

MSP430F2619中好像没有SYSRSTIV寄存器

使用特权

评论回复
8
xia_kang|  楼主 | 2015-4-19 12:01 | 只看该作者
dirtwillfly 发表于 2015-4-19 10:18
可以通过读取相应寄存器来判断复位源,MSP430F6系列好像是SYSRSTIV。
不清楚你用的具体型号,可以在手册里 ...

MSP430F2619中好像没有SYSRSTIV寄存器

使用特权

评论回复
9
dirtwillfly| | 2015-4-19 13:47 | 只看该作者
xia_kang 发表于 2015-4-19 12:01
MSP430F2619中好像没有SYSRSTIV寄存器

每个系列的寄存器名称可能不一样,具体要翻看手册

使用特权

评论回复
10
shenmu2012| | 2015-4-19 20:09 | 只看该作者
那就在启动看门狗复位前,吧关键数据存于flash中的,该关键数据必须不同,这样通过这些关键数据的就可以判断出是那些位置了。

使用特权

评论回复
11
xia_kang|  楼主 | 2015-4-19 20:33 | 只看该作者
shenmu2012 发表于 2015-4-19 20:09
那就在启动看门狗复位前,吧关键数据存于flash中的,该关键数据必须不同,这样通过这些关键数据的就可以判 ...

我想问下,定义在固定地址Flash的变量在上电复位后初始值是什么

使用特权

评论回复
12
comeon201208| | 2015-4-19 21:50 | 只看该作者
写进flash的数据在重启后是不会改变该值的。

使用特权

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

本版积分规则

4

主题

17

帖子

0

粉丝