查看: 1557|回复: 2

[分享] 关于MKL02软件复位,自定义的全局变量没复位

[复制链接]

该用户从未签到

5

主题

12

帖子

0

注册会员

Rank: 2

积分
59
最后登录
1970-1-1
发表于 2015-6-12 13:40:21 | 显示全部楼层 |阅读模式
         最近调试MKL02低功耗,初始化时lptmr_init(128,0); //4MS       之前定义了一个全局Time4ms=0;然后每4ms会进中断并且Time4ms累加
        然后在接下来的主程序中  if(Time4ms==3000)
                                                {
                                              enter_vlps();
                                              LPTMR0_CSR &= ~ LPTMR_CSR_TEN_SHIFT;
                                                }
         然后我给PTA7一个电平产生中断,从低功耗唤醒,直接软件复位
void PortA_Isr(void)
{
  if(PORTA_ISFR & (1<<7))
  {
     PORTA_ISFR |= (1<<7);
     if(MCM_CPO & MCM_CPO_CPOACK_MASK){
      MCM_CPO &= ~MCM_CPO_CPOREQ_MASK;
      while (MCM_CPO & MCM_CPO_CPOACK_MASK);
      Reset();
      }
  }
}
我在头文件定义了#define Reset()      (SCB_AIRCR = SCB_AIRCR_VECTKEY(0x5FA)|SCB_AIRCR_SYSRESETREQ_MASK)
然后低功耗确实被唤醒了,但是Time4ms并没有变成0,貌似继续从3000开始计数,由于是低功耗,在线好像调试不了。

回复

使用道具 举报

该用户从未签到

5

主题

12

帖子

0

注册会员

Rank: 2

积分
59
最后登录
1970-1-1
 楼主| 发表于 2015-6-12 13:59:28 | 显示全部楼层
LPTMR0_CSR &= ~ LPTMR_CSR_TEN_MASK;关定时器应该是这样的,
if(Time4ms==3000)
                                                {
                                              enter_vlps();
                                              LPTMR0_CSR &= ~ LPTMR_CSR_TEN_MASK;
                                                }
但是貌似唤醒不了了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16714
    最后登录
    1970-1-1
    发表于 2015-6-13 00:00:16 | 显示全部楼层
    帮顶!!
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-27 17:46 , Processed in 0.079838 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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