找回密码
 立即注册
查看: 450|回复: 8

STC8H3K64S2低功耗时,怎么样关闭T0定时器、AD和IO呀?

[复制链接]

1

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-6-3 16:30:35 | 显示全部楼层 |阅读模式
STC8H3K64S2低功耗时,怎么样关闭T0定时器、AD和IO呀?
回复

使用道具 举报 送花

1

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-6-3 16:36:10 | 显示全部楼层
实在没办法了,想用软件复位,但打开软件复位,休眠电流就很大,去掉就好了,怎么回事
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;                                                                       
                                                }
                          }
    }
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-6-3 17:50:42 | 显示全部楼层
这些东西不看手册的么?
定时器到不用管,,掉电之后就不再计数了,,
AD 掉电之前要关闭,看ADC那章节就行了,
IO的配置 论坛里姚总发过很多篇文章 ,,随便搜一下低功耗 、IO的关键词就能出来
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-6-3 17:52:08 | 显示全部楼层
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2024-6-4 11:06:45 | 显示全部楼层
最简单的办法就是看下手册寄存器的初始值,进入低功耗之前所有的寄存器给他写入上电初始值即可
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-11-12 18:16:01

4

主题

7

回帖

68

积分

注册会员

积分
68
发表于 2024-11-2 10:40:34 | 显示全部楼层
_奶*** 发表于 2024-6-3 17:50
这些东西不看手册的么?
定时器到不用管,,掉电之后就不再计数了,,
AD 掉电之前要关闭,看ADC那章节就行 ...

我用stc8H8K64U测试低功耗,用了定时器0,弄了大半天,发现唤醒后定时器0不能正常工作,唤醒后先初始化定时器0,就可以了。不知道是不是这个芯片的bug。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-11-2 10:50:30 | 显示全部楼层
qljd*** 发表于 2024-11-2 10:40
我用stc8H8K64U测试低功耗,用了定时器0,弄了大半天,发现唤醒后定时器0不能正常工作,唤醒后先初始化定 ...

我是 进睡眠之前关闭timer 唤醒之后再开启,,一直是这么个操作,,目前没有什么问题,,后来用上8H的RTC之后 也就不用拿定时器做时基了。
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-11-12 18:16:01

4

主题

7

回帖

68

积分

注册会员

积分
68
发表于 2024-11-2 10:56:47 | 显示全部楼层
_奶*** 发表于 2024-11-2 10:50
我是 进睡眠之前关闭timer 唤醒之后再开启,,一直是这么个操作,,目前没有什么问题,,后来用上8H的RTC ...

我目前这是这么操作的,休眠前先关闭,唤醒后打开。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-11-12 18:16:01

4

主题

7

回帖

68

积分

注册会员

积分
68
发表于 2024-11-2 20:21:50 | 显示全部楼层
qljd*** 发表于 2024-11-2 10:40
我用stc8H8K64U测试低功耗,用了定时器0,弄了大半天,发现唤醒后定时器0不能正常工作,唤醒后先初始化定 ...

我上午回复的这个定时器0不能正常工作的地方,是我弄错了,程序有个地方关闭了定时器0。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:34 , Processed in 0.120484 second(s), 101 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表