查看: 3389|回复: 6

[其他] 如何进入STOP3及如何唤醒

[复制链接]

该用户从未签到

1

主题

6

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2018-9-18
发表于 2018-5-10 10:10:14 | 显示全部楼层 |阅读模式

我现在用dz60, 定时10s进入stop3模式,想用SCI唤醒它,但是始终唤醒不了,不知道问题出在哪里配置如下:
       SOPT1_STOPE=1;
       SPMSC1_LVDSE=0;
       SPMSC1_LVDE=1;
       SPMSC2_PPDC=0;

这个配置是在外部时钟初始化中配置的
void MCG_Init(void)
{
    SOPT1_COPT = 0;
   
       SOPT1_STOPE=1;
       SPMSC1_LVDSE=0;
       SPMSC1_LVDE=1;
       SPMSC2_PPDC=0;
        


    MCGC2_BDIV = BUS_DIV;           //不分频  8MHz
    MCGC2_RANGE = 1;        
    MCGC2_HGO = 1;         
    MCGC2_EREFS = 1;
           
    MCGC2_ERCLKEN = 1;
      
    MCGC2_EREFSTEN = 1;  
   
         while(!MCGSC_OSCINIT);
    MCGC1_CLKS = 0x02;     
    MCGC1_RDIV = 0x07;         
    MCGC1_IREFS = 0;        
         while(MCGSC_IREFST);
         while((MCGSC_CLKST)^(0x02));
         
    MCGC2_LP = 1;         
  
    MCGC1_RDIV = REF_DIV;        //8MHz/4=2MHz
    MCGC3_PLLS = 1;        
    MCGC3_VDIV = VCO_DIV;        //MGCC_OUT=2MHz*16 =32MHz   BusCLK=1/2*MGCC_OUT=16MHz
   
        while(!MCGSC_PLLST);   
                                   
    MCGC2_LP = 0;         
   
        while(!MCGSC_LOCK);     
        
    MCGC1_CLKS = 0x00;      
   
        while((MCGSC_CLKST)^(0x03));                                                              
}



定时器定时10s 执行:asm stop;

       stop_count++;
    if(stop_count>=2000)
      {
      
      asm stop;
      }

SCI中断接收到信息后给定时器计数清零
void interrupt VectorNumber_Vsci1rx SCI1_ISR(void)
{
   
    unsigned char i=0;
    unsigned char Rcv_dat;
  
    Rcv_dat= SCI1_receive();
   
     U1  =Rcv_dat;
     i++;
     if(i>=9)
     i=0;
     stop_count=0;
     
}


这样发现没法唤醒它。





我知道答案 目前已有6人回答
回复

使用道具 举报

该用户从未签到

5

主题

22

帖子

2

注册会员

Rank: 2

积分
130
最后登录
2021-5-17
发表于 2018-5-10 14:09:35 | 显示全部楼层
我最近也在用这款单片机做开发,结合我的经验说一说:首先确认你有没有进入STOP3模式,进入STOP3之后cpu处于待机状态,是没有指令在运行的,因此无法debug(所以如果还在debug说明你没有进入stop3),执行STOP指令后应该是能进入STOP模式的,看你的代码可能是由于定时器中断唤醒了MCU。

如果确定进入了STOP3但是无法唤醒,那就看下是不是执行STOP指令前把中断关闭了

评分

参与人数 1 +1 收起 理由
doatello + 1

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

6

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2018-9-18
 楼主| 发表于 2018-5-10 17:07:58 | 显示全部楼层
努力工作好青年 发表于 2018-5-10 14:09
我最近也在用这款单片机做开发,结合我的经验说一说:首先确认你有没有进入STOP3模式,进入STOP3之后cpu处 ...

你的那个能用中断唤醒了没?
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

22

帖子

2

注册会员

Rank: 2

积分
130
最后登录
2021-5-17
发表于 2018-5-10 18:38:10 | 显示全部楼层
songshu1799 发表于 2018-5-10 17:07
你的那个能用中断唤醒了没?

我是用外部IO口中断唤醒
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

6

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2018-9-18
 楼主| 发表于 2018-5-11 14:56:20 | 显示全部楼层
努力工作好青年 发表于 2018-5-10 18:38
我是用外部IO口中断唤醒

今天试了下,感觉是没有进入STOP3模式,现象是进入后就自动复位了。能否借鉴一下你的工程,在什么地方设置的那些寄存器。我的邮箱441892939@qq.com,感谢!
回复 支持 反对

使用道具 举报

该用户从未签到

5

主题

22

帖子

2

注册会员

Rank: 2

积分
130
最后登录
2021-5-17
发表于 2018-5-12 15:22:10 | 显示全部楼层
songshu1799 发表于 2018-5-11 14:56
今天试了下,感觉是没有进入STOP3模式,现象是进入后就自动复位了。能否借鉴一下你的工程,在什么地方设 ...

project是公司的我没有权限发给你,但你可以再具体描述下问题,或者上传你的demo project,我有时间会帮你看看
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

6

帖子

0

新手上路

Rank: 1

积分
35
最后登录
2018-9-18
 楼主| 发表于 2018-5-16 15:15:09 | 显示全部楼层
努力工作好青年 发表于 2018-5-12 15:22
project是公司的我没有权限发给你,但你可以再具体描述下问题,或者上传你的demo project,我有时间会帮 ...

我现在用A端口中断能实现STOP3唤醒了,但是用SCI中断时,感觉能进入中断,电流也上来了,但定时器不跑了,串口也不发送数据了(我是用定时器1S发送一次)串口数据,不知道是哪个地方有问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-11 09:57 , Processed in 0.097106 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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