STC8H8K64U掉电唤醒后,为什么像上电重启一样执行初始化?
请问各位老师,我用STC8H8K64U,因为要用RTC,电路板有3V电池,用P37检测电压,电压低进入掉电模式,掉电3秒后唤醒检测。电压低继续进入掉电模式,电压正常程序往下执行。我用仿真和可调电阻调电压测试,进入掉电模式和3秒唤醒后,电压正常,程序继续往下执行都是可以的。但是程序下载到电路板,断电,一段时间后,重新上电,单片机就会执行上电初始化。而不会从进入掉电模式语句的下一条语句开始执行。复位脚P54已经设为普通IO脚,低压复位也关了。看门狗没有开,电池电压是3V。请问还有什么会令单片机复位呢? 查看一下复位标志寄存器RSTFLAG,应该可以知道是什么原因引起的复位。 时钟、复位相关代码均不支持仿真,主要包括如下和时钟相关:动态切换外部晶振为系统时钟、动态切换PLL时钟为系统时钟、软件动态设置CLKDIV
和复位相关:STOP模式、IDLE模式、软件复位、看门狗复位、低压复位
MCU仿真时需要和PC通信的,所以不能进入掉电模式。 小白 发表于 2023-2-25 16:57
查看一下复位标志寄存器RSTFLAG,应该可以知道是什么原因引起的复位。
好的,谢谢!我看看能查一下试试。 zhp 发表于 2023-2-25 20:18
时钟、复位相关代码均不支持仿真,主要包括如下
和时钟相关:动态切换外部晶振为系统时钟、动态切换PLL时钟 ...
不是仿真不行,是下载程序到电路板测试,不行。 梁工 发表于 2023-2-25 20:26
MCU仿真时需要和PC通信的,所以不能进入掉电模式。
仿真时,我还真试过可以进入掉电模式。只要用可调电阻,将检测电压调低就行。然后时间够了,还能唤醒。我现在不是仿真不行,是下载程序到电路板。重新上电不行。 掉电模式是 Power down mode,不是断电 Power off。
单片机断电一段时间后重新上电肯定是会复位的。
掉电模式是执行 PCON = PD; 指令让芯片进入省电模式,而不是将芯片断电了。 乘风飞扬 发表于 2023-2-27 18:53
掉电模式是 Power down mode,不是断电 Power off。
单片机断电一段时间后重新上电肯定是会复位的。
掉电模 ...
断电重新上电复位是肯定的,我有电池供电,进入省电模式,3秒唤醒,检测到电压正常,即是重新上电。就应该会执行断电前的下一条指令吧?我看8H的参考手册是这样子说有。 lidianzi 发表于 2023-2-28 08:41
断电重新上电复位是肯定的,我有电池供电,进入省电模式,3秒唤醒,检测到电压正常,即是重新上电。就应 ...
用示波器测量一下VCC电压,如果外部供电断开后转电池供电,VCC能一直保持正常工作电压范围内的话,
用官网STC8H实验箱例程包里的例子"69-内部RTC时钟低功耗休眠唤醒-比较器检测电压程序"试试看。
页:
[1]