查看: 3167|回复: 4

[求助] MKL25低功耗操作的问题

[复制链接]

该用户从未签到

2

主题

6

帖子

0

新手上路

Rank: 1

积分
14
最后登录
1970-1-1
发表于 2013-4-26 10:19:22 | 显示全部楼层 |阅读模式
 在keil环境里面使用如下代码,Jlink单步调试,板子无电流变化。问题在哪呢?
        view_data=12;
        view_mode=12;
        view_stop=12;
        view_port=12;
        view_data=SMC_PMSTAT;
        view_port=SMC_PMPROT;
        view_mode=SMC_PMCTRL;
        view_stop=SMC_STOPCTRL;
        view_data=SMC_PMSTAT;
 
//---------VLPRģʽϵÄVLLS1
        view_data=SMC_PMSTAT;
        SMC_PMPROT=(SMC_PMPROT|0x22);
        view_port=SMC_PMPROT;
        view_data=SMC_PMSTAT;
        view_data=SMC_PMSTAT;
        SMC_PMCTRL=(SMC_PMCTRL|0x40);
        view_mode=SMC_PMCTRL;
        SMC_PMCTRL=(SMC_PMCTRL|0x04);
        view_mode=SMC_PMCTRL;
        view_data=SMC_PMSTAT;
        view_stop=SMC_STOPCTRL;
        SMC_STOPCTRL=(SMC_STOPCTRL&0x01);
        view_stop=SMC_STOPCTRL;
       
        view_port=SMC_PMPROT;
        view_mode=SMC_PMCTRL;
        view_stop=SMC_STOPCTRL;
        view_data=SMC_PMSTAT;
 
 
 
//------------RUN MODEϵÄSTOPģʽ
        view_data=SMC_PMSTAT;
        SMC_PMPROT=(SMC_PMPROT&0x00);
        view_port=SMC_PMPROT;
        view_data=SMC_PMSTAT;
        view_data=SMC_PMSTAT;
        SMC_PMCTRL=(SMC_PMCTRL&0x9F);
        view_mode=SMC_PMCTRL;
        view_data=SMC_PMSTAT;
        SMC_PMCTRL=(SMC_PMCTRL&0xF8);
        view_mode=SMC_PMCTRL;
        view_data=SMC_PMSTAT;
       
        view_port=SMC_PMPROT;
        view_mode=SMC_PMCTRL;
        view_stop=SMC_STOPCTRL;
        view_data=SMC_PMSTAT;
我知道答案 目前已有3人回答
回复

使用道具 举报

该用户从未签到

1

主题

47

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
115
最后登录
1970-1-1
发表于 2013-4-26 11:33:19 | 显示全部楼层

RE:MKL25低功耗操作的问题

原厂例程里面有一个Low Power的Demo,建议您参考那个代码看下。非常简单,并且是API的形式。
另外这个代码很长,而且没有注释,这样的代码是很难去看的。
不过看代码中对SMC_PMPROT寄存器操作了多次,就感觉程序没有注意SMC_PMPROT寄存器的使用。
该寄存器复位/上电后只能Write一次,之后的写操作就不再起作用了。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2013-4-26 11:35:56 | 显示全部楼层

    RE:MKL25低功耗操作的问题

    如果想要低功耗测试,建议不要仿真,直接烧写就可以了。仿真的时候,会打断工作的。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    47

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    115
    最后登录
    1970-1-1
    发表于 2013-4-26 11:46:54 | 显示全部楼层

    回复:MKL25低功耗操作的问题

    回复第 3 楼 于2013-04-26 19:35:56发表:
    如果想要低功耗测试,建议不要仿真,直接烧写就可以了。仿真的时候,会打断工作的。
     
    嗯对~~SWD会关闭的,带着仿真器测试的话,得到的电流值也是不正确的。
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    6

    帖子

    0

    新手上路

    Rank: 1

    积分
    14
    最后登录
    1970-1-1
     楼主| 发表于 2013-4-26 11:59:14 | 显示全部楼层

    回复:MKL25低功耗操作的问题

    回复第 2 楼 于2013-04-26 19:33:19发表:
    原厂例程里面有一个Low Power的Demo,建议您参考那个代码看下。非常简单,并且是API的形式。
    另外这个代码很长,而且没有注释,这样的代码是很难去看的。
    不过看代码中对SMC_PMPROT寄存器操作了多次,就感觉程序没有注意SMC_PMPROT寄存器的使用。
    该寄存器复位/上电后只能Write一次,之后的写操作就不再起作用了。
     
    你好
    我的程序        SMC_PMPROT=(SMC_PMPROT|0x22);                //关闭低功耗接口的保护  可以控制低功耗
            SMC_PMCTRL=(SMC_PMCTRL|0x44);                //进入VLLSX模式
            SMC_STOPCTRL=(SMC_STOPCTRL&0x01);    //进入VLLS1
    官方的例程里面的文件夹《low_power_dma_uart_demo》
    我使用官方例程  程序会死在《system_MKL25Z4.C》里面的
      while((MCG->S & MCG_S_IREFST_MASK) != 0x00U) { /* Check that the source of the FLL reference clock is the external reference clock. */
      }
      while((MCG->S & 0x0CU) != 0x08U) {    /* Wait until external reference clock is selected as MCG output */
      }


     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-19 09:12 , Processed in 0.096648 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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