myliudong_001 发表于 5 天前

STC32G12K128 休眠,唤醒后复位

STC32G12K128 休眠,唤醒后复位


请陈工,帮测试一下,上传源码工程

STC32G12K128 开始看门狗 时钟:11.0592 开启看门狗(分频为128 4.5S左右).在主程里一直喂狗,如果让其休眠,进入后休眠后(掉电模式),用INT0,或INT1唤醒后,CPU会复位,如果关闭看门狗,就不会复位

神农鼎 发表于 5 天前


myliudong_001 发表于 5 天前

你的意思,是说我没有使能INT0,和INT1吗,肯定使能了的,在UART.C函数里void Timer0Init(void)                //30毫秒@11.0592MHz
{
        AUXR &= 0x7F;                        //定时器时钟12T模式
        TMOD &= 0xF0;                        //设置定时器模式
        TL0 = 0x00;                                //设置定时初始值
        TH0 = 0x94;                                //设置定时初始值
        TF0 = 0;                                        //清除TF0标志
        TR0 = 1;                                        //定时器0开始计时

        TR0 = 1;                                        //定时器0开始计时
        ET0=1;       
        EA=1;

        ET0 =1;                                                //中断0,下降沿中断
        EX0 =1;                                                //打开中断
       
        ET1 =1;                                                //中断1,下降沿中断
        EX1 =1;                                                //打开中断
}

myliudong_001 发表于 5 天前

我只是使能为下降沿触发,现在的问题,能进入掉电模式,能唤醒,只是唤醒后,4.5秒后复位

myliudong_001 发表于 5 天前

我已上传源码,看能不能,下到你们板子上试一下

myliudong_001 发表于 5 天前

你好,按照你的要求,加了               
                IRCDB = 0x10;               
                IAP_TPS = 11;
效果一样的,一唤醒就复位

                P3_5 =0;
       
                P0M0=0x00;
                P0M1=0x00;

                P1M0=0x00;
                P1M1=0x00;

                P2M0=0x00;
                P2M1=0x00;

                P3M0=0x00;
                P3M1=0x00;

                P4M0=0x00;
                P4M1=0x00;

                P5M0=0x00;
                P5M1=0x00;

                P6M0=0x00;
                P6M1=0x00;
               
                P7M0=0x00;
                P7M1=0x00;       

                P3M0 = 0x20;
                P3M1 = 0x00;
               
                P1M0        =        0x00;
                P1M1        |=        0xc8; //P1_3 为高阻输入,AD输入       P1_7 P1_6为高阻态 外部时钟输入               
                P1IE &= ~0x0b;
               
                P5M0 |=0x10;
                P5M1 =0x00;               
                P5_4 = 1;
                       
                P3IE = 0xff;

                IRCDB = 0x10;               
                IAP_TPS = 11;

乘风飞扬 发表于 5 天前

烧录附件例子到芯片里试试。
例子通过INT0,INT1唤醒休眠模式,主循环喂狗,串口打印MCU工作状态
页: [1]
查看完整版本: STC32G12K128 休眠,唤醒后复位