我在MM32Spin05单片机上工作。电源开启后,RCC(重置和时钟控制)寄存器中的所有6个标志都将被设置。重置后,此寄存器的默认值应为0X XC000000。但我观察到它是0X FC000000。我没有做任何关于看门狗定时器,或低功耗模块或s/w复位。
我有一个要求,如果软件重置完成,闪存中的某一页将被清除。但在启动时,由于我不知道的原因,设置了标志,因此,闪存页正在被清除。我实际上是在做权力重置。我正在关机,然后打开单片机的电源。在启动时,软件重置标志被设置,因此,根据我的代码,它是触发闪存页擦除。闪存页只应在软件复位时被擦除,而不是电源复位。在MCU启动后,我立即打印RCC_CSR寄存器值,并看到所有6个标志都已设置。
LPWRRSTF:低功耗复位标志
WDGRSTF:窗口看门狗重置标志
IWDGRSTF:独立的看门狗重置标志
SFTRSTF:软件重置标志
PORRSTF:POR/PDR重置标志
PINRSTF:引脚复位标志
我很困惑,为什么电源复位会导致软件重置标志设置?
我在这件事上被困了一个多星期,对此我完全一无所知。任何帮助或建议都将受到高度欢迎。提前谢谢

发布于 2022-01-13 20:28:49
如手册所述,前4位是“不关心”的电源(或引脚)复位,他们可以让任何值。
只有当没有设置PORRSTF 和 PINRSTF的时,其他位才是相关的。
即使这样,您也需要仔细阅读手册,以了解这些位的条件。除了简单的单位检查之外,可能还有更多的工作要做。
https://stackoverflow.com/questions/70682112
复制相似问题