根据K60的技术手册,可以查到关于K60复位类型的寄存器为MC_SRSH和MC_SRSL,复位类型一共有以下几种: if (MC_SRSH & MC_SRSH_SW_MASK) printf("Software Reset\n"); if (MC_SRSH & MC_SRSH_LOCKUP_MASK) printf("Core Lockup Event Reset\n"); if (MC_SRSH & MC_SRSH_JTAG_MASK) printf("JTAG Reset\n"); if (MC_SRSL & MC_SRSL_POR_MASK) printf("Power-on Reset\n"); if (MC_SRSL & MC_SRSL_PIN_MASK) printf("External Pin Reset\n"); if (MC_SRSL & MC_SRSL_COP_MASK) printf("Watchdog(COP) Reset\n"); if (MC_SRSL & MC_SRSL_LOC_MASK) printf("Loss of Clock Reset\n"); if (MC_SRSL & MC_SRSL_LVD_MASK) printf("Low-voltage Detect Reset\n"); if (MC_SRSL & MC_SRSL_WAKEUP_MASK) printf("LLWU Reset\n") 按照这个逻辑讲,我的单片机每次复位之后,寄存器MC_SRSH和MC_SRSL中肯定有一位为1。 但是我在使用的时候,发现这两个寄存器的数据始终是全0 求解,谢谢 备注,我用的型号是MK60DN512VLL10,可以看到寄存器MC_PMPOR是0x03,MC_PMCTRL是0x01
|