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

[复制链接]
2770|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地址上。 ...

但是变量总得赋初值吧,我是想判断如果是上电复位就重新给变量赋个初值,若是看门狗复位就可以不管
dirtwillfly 发表于 2015-4-19 10:18 | 显示全部楼层
可以通过读取相应寄存器来判断复位源,MSP430F6系列好像是SYSRSTIV。
不清楚你用的具体型号,可以在手册里找到的相关寄存器的。
 楼主| xia_kang 发表于 2015-4-19 10:47 | 显示全部楼层
dirtwillfly 发表于 2015-4-19 10:18
可以通过读取相应寄存器来判断复位源,MSP430F6系列好像是SYSRSTIV。
不清楚你用的具体型号,可以在手册里 ...

我用的是MSP430F2619的,好像是可以通过读取IFG1寄存器来判断,就是不确定,所以请教下。
 楼主| xia_kang 发表于 2015-4-19 12:00 | 显示全部楼层
xia_kang 发表于 2015-4-19 10:47
我用的是MSP430F2619的,好像是可以通过读取IFG1寄存器来判断,就是不确定,所以请教下。 ...

MSP430F2619中好像没有SYSRSTIV寄存器
 楼主| xia_kang 发表于 2015-4-19 12:01 | 显示全部楼层
dirtwillfly 发表于 2015-4-19 10:18
可以通过读取相应寄存器来判断复位源,MSP430F6系列好像是SYSRSTIV。
不清楚你用的具体型号,可以在手册里 ...

MSP430F2619中好像没有SYSRSTIV寄存器
dirtwillfly 发表于 2015-4-19 13:47 | 显示全部楼层
xia_kang 发表于 2015-4-19 12:01
MSP430F2619中好像没有SYSRSTIV寄存器

每个系列的寄存器名称可能不一样,具体要翻看手册
shenmu2012 发表于 2015-4-19 20:09 | 显示全部楼层
那就在启动看门狗复位前,吧关键数据存于flash中的,该关键数据必须不同,这样通过这些关键数据的就可以判断出是那些位置了。
 楼主| xia_kang 发表于 2015-4-19 20:33 | 显示全部楼层
shenmu2012 发表于 2015-4-19 20:09
那就在启动看门狗复位前,吧关键数据存于flash中的,该关键数据必须不同,这样通过这些关键数据的就可以判 ...

我想问下,定义在固定地址Flash的变量在上电复位后初始值是什么
comeon201208 发表于 2015-4-19 21:50 | 显示全部楼层
写进flash的数据在重启后是不会改变该值的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

17

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部