它工作正常、但我对这个 SYSRSTIV 在我们进行计算时变为0x0016有一些疑问、但在条件 SYSTIV 变为0x000之后、为什么呢? 请您解释一下
#include
int main (void){
// WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
if (SYSRSTIV =SYSRSTIV_WDTTO){
switch (SYSRSTIV_WDTTO){
案例 SYSRSTIV_NONE://无中断挂起*/
_no_operation();
中断;
案例 SYSRSTIV_BOR://* SYSRSTIV:BOR */
_no_operation();
中断;
案例 SYSRSTIV_RSTNMI://* SYSRSTIV:RST/NMI *
_no_operation();
中断;
案例 SYSRSTIV_DOBOR://* SYSRSTIV:执行 BOR */
_no_operation();
中断;
案例 SYSRSTIV_LPM5WU://* SYSRSTIV:端口 LPM5唤醒*/
_no_operation();
中断;
案例 SYSRSTIV_SECYV://* SYSRSTIV:安全违规*/
_no_operation();
中断;
案例 SYSRSTIV_RES0C://* SYSRSTIV:保留*/
_no_operation();
中断;
案例 SYSRSTIV_SVSHIFG://* SYSRSTIV:SVSHIFG */
_no_operation();
中断;
案例 SYSRSTIV_RES10://* SYSRSTIV:保留*/
_no_operation();
中断;
案例 SYSRSTIV_RES12://* SYSRSTIV:保留*/
_no_operation();
中断;
案例 SYSRSTIV_DOPOR://* SYSRSTIV:执行 POR */
_no_operation();
中断;
案例 SYSRSTIV_WDTTO://* SYSRSTIV:WDT 超时*/
_no_operation();
中断;
案例 SYSRSTIV_WDTKEY://* SYSRSTIV:WDTKEY 违反*/
_no_operation();
中断;
案例 SYSRSTIV_FRCTLPW://* SYSRSTIV:FRAM 密钥违反*/
_no_operation();
中断;
案例 SYSRSTIV_UBDIFG://* SYSRSTIV:FRAM 不可纠正的位错误*/
_no_operation();
中断;
案例 SYSRSTIV_PERF:// SYSRSTIV:peripheral/config area fetch */
_no_operation();
中断;
案例 SYSRSTIV_PMMPW://* SYSRSTIV:PMM 密码违规*/
_no_operation();
中断;
案例 SYSRSTIV_MPUPW://* SYSRSTIV:MPU 密码违规*/
_no_operation();
中断;
案例 SYSRSTIV_CSPW://* SYSRSTIV:CS 密码违规*/
_no_operation();
中断;
案例 SYSRSTIV_MPUSEGPIFG://* SYSRSTIV:MPUSEGPIFG 违规*
_no_operation();
中断;
案例 SYSRSTIV_MPUSEGIIFG://* SYSRSTIV:MPUSEGIIFG 违反*/
_no_operation();
中断;
案例 SYSRSTIV_MPUSEG1IFG://* SYSRSTIV:MPUSEG1IFG 违规*
_no_operation();
中断;
案例 SYSRSTIV_MPUSEG2IFG://* SYSRSTIV:MPUSEG2IFG 违规*
_no_operation();
中断;
案例 SYSRSTIV_MPUSEG3IFG://* SYSRSTIV:MPUSEG3IFG 违规*
_no_operation();
中断;
案例 SYSRSTIV_ACCTEIFG://* SYSRSTIV:ACCTEIFG 访问时间错误*/
_no_operation();
中断;
默认值:
中断;
}
}
while (1);
}