STC32G12K128 休眠,唤醒后复位
STC32G12K128 休眠,唤醒后复位请陈工,帮测试一下,上传源码工程
STC32G12K128 开始看门狗 时钟:11.0592 开启看门狗(分频为128 4.5S左右).在主程里一直喂狗,如果让其休眠,进入后休眠后(掉电模式),用INT0,或INT1唤醒后,CPU会复位,如果关闭看门狗,就不会复位
你的意思,是说我没有使能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; //打开中断
}
我只是使能为下降沿触发,现在的问题,能进入掉电模式,能唤醒,只是唤醒后,4.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; 烧录附件例子到芯片里试试。
例子通过INT0,INT1唤醒休眠模式,主循环喂狗,串口打印MCU工作状态
页:
[1]