钢铁夹 发表于 2024-5-23 11:35:12

STC8H不能进入省电模式 | 已解决

之前项目用的是STC8G1K08,能够进入省电模式,也能INT0/INT1中断唤醒。
但把代码移植到STC8H1K08后,不能进入省电模式。检查发现只要进入省电模式就立即被定时器中断唤醒,在PCON = 0X02;前面加入ET0 = 0;ET1 = 0;后,能顺利进入省电模式!
问题来了,为什么STC8G不关定时器中断能进入省电模式,而在STC8H上却不行???

乘风飞扬 发表于 2024-5-23 14:07:32

开启定时器中断的情况下,对应的外部时钟输入脚,如T0,T1上有下降沿信号是会唤醒MCU省电模式的。
这方面STC8G1K08、STC8H1K08功能是相同的。STC8G1K08不会被唤醒应该是休眠时T0,T1上没有产生下降沿信号。

钢铁夹 发表于 2024-5-23 15:26:09

乘风飞扬 发表于 2024-5-23 14:07
开启定时器中断的情况下,对应的外部时钟输入脚,如T0,T1上有下降沿信号是会唤醒MCU省电模式的。
这方面ST ...
正解!
STC8H1K08的P3.5脚用做ADC输入,被设置成高阻,刚好对应T1定时器的管脚。
由于T1定时器的用途,不想进入省电模式时关闭中断,
我的做法是进入省电模式前将P3.5脚设置成准双向并置0,在退出省电模式后重新设置P3.5为高阻。
测试了一下,可行!
页: [1]
查看完整版本: STC8H不能进入省电模式 | 已解决