STC8H3K64S2低功耗时,怎么样关闭T0定时器、AD和IO呀?
STC8H3K64S2低功耗时,怎么样关闭T0定时器、AD和IO呀?实在没办法了,想用软件复位,但打开软件复位,休眠电流就很大,去掉就好了,怎么回事
int main(void)
{
if((RSTFLAG & 0x04) == 0x04)
{
RSTFLAG |= 0x04;
goto MM;
}
wake_up = 0;
sleep = 1;
while (1)
{
if(wake_up == 0)
{
if(sleep == 1)
{
// IAP_CONTR |= 0x60;
// Delay100ms();
MM: P0M0 = 0x00;
P0M1 = 0xff;
P1M0 = 0x00;
P1M1 = 0xff;
P2M0 = 0x00;
P2M1 = 0xff;
P3M0 = 0x00;
P3M1 = 0xff;
P4M0 = 0x00;
P4M1 = 0xff;
P5M0 = 0x00;
P5M1 = 0xff;
EX1 = 1; //使能INT1中断
EA = 1;
_nop_();
_nop_();
_nop_();
_nop_();
PCON = PD; //MCU进入掉电模式
_nop_();
_nop_();
_nop_();
_nop_();
sleep = 0;
}
}
}
} 这些东西不看手册的么?
定时器到不用管,,掉电之后就不再计数了,,
AD 掉电之前要关闭,看ADC那章节就行了,
IO的配置 论坛里姚总发过很多篇文章 ,,随便搜一下低功耗 、IO的关键词就能出来 https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2368&extra=page%3D1 最简单的办法就是看下手册寄存器的初始值,进入低功耗之前所有的寄存器给他写入上电初始值即可{:lol:} _奶咖君_ 发表于 2024-6-3 17:50
这些东西不看手册的么?
定时器到不用管,,掉电之后就不再计数了,,
AD 掉电之前要关闭,看ADC那章节就行 ...
我用stc8H8K64U测试低功耗,用了定时器0,弄了大半天,发现唤醒后定时器0不能正常工作,唤醒后先初始化定时器0,就可以了。不知道是不是这个芯片的bug。 qljdong 发表于 2024-11-2 10:40
我用stc8H8K64U测试低功耗,用了定时器0,弄了大半天,发现唤醒后定时器0不能正常工作,唤醒后先初始化定 ...
我是 进睡眠之前关闭timer 唤醒之后再开启,,一直是这么个操作,,目前没有什么问题,,后来用上8H的RTC之后 也就不用拿定时器做时基了。 _奶咖君_ 发表于 2024-11-2 10:50
我是 进睡眠之前关闭timer 唤醒之后再开启,,一直是这么个操作,,目前没有什么问题,,后来用上8H的RTC ...
我目前这是这么操作的,休眠前先关闭,唤醒后打开。 qljdong 发表于 2024-11-2 10:40
我用stc8H8K64U测试低功耗,用了定时器0,弄了大半天,发现唤醒后定时器0不能正常工作,唤醒后先初始化定 ...
我上午回复的这个定时器0不能正常工作的地方,是我弄错了,程序有个地方关闭了定时器0。
页:
[1]