打印
[技术问题解答]

KL25Z128 低功耗模式问题(已解决)

[复制链接]
3015|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiahongjian|  楼主 | 2014-5-4 13:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
FSL_TICS_Jeremy| | 2014-5-4 15:34 | 只看该作者
你好,楼主!
你的想法是可以的。
如有疑问,再交流!

使用特权

评论回复
板凳
jiahongjian|  楼主 | 2014-5-4 16:03 | 只看该作者
如何实现,我用PE配置时报错,我先定义了PTC4为输入,在配置LLWU_P8时就会报错

使用特权

评论回复
地板
jiahongjian|  楼主 | 2014-5-4 16:35 | 只看该作者
先定义为输入,后面就不能定义为LLWU了

QQ图片20140504163323.jpg (28.28 KB )

codewarror报错

codewarror报错

使用特权

评论回复
5
FSL_TICS_Jeremy| | 2014-5-4 17:24 | 只看该作者
jiahongjian 发表于 2014-5-4 16:35
先定义为输入,后面就不能定义为LLWU了

谢谢你的回复,sorry.我的回答有错误。
再经查阅参考手册后,我发现LLWU只有LLS,VLLSx模式是工作的,正常的RUN模式应该是Static状态。

使用特权

评论回复
6
jiahongjian|  楼主 | 2014-5-4 21:53 | 只看该作者
那这个按键就不能有2个功能吗? 我不可能专门去做个按键唤醒啊

使用特权

评论回复
7
FSL_TICS_Jeremy| | 2014-5-5 13:51 | 只看该作者
jiahongjian 发表于 2014-5-4 21:53
那这个按键就不能有2个功能吗? 我不可能专门去做个按键唤醒啊

如果你把GPIO设置为输入,采用查询的方式探测引脚的电平高低应该是可以的。
而PE配置出错的出现,可能软件默认两者不可同时配置吧。

使用特权

评论回复
8
jiahongjian|  楼主 | 2014-5-5 14:34 | 只看该作者
具体该怎么实现了

使用特权

评论回复
9
jiahongjian|  楼主 | 2014-5-6 12:11 | 只看该作者
那大神帮帮忙哇。。。。

使用特权

评论回复
10
jiahongjian|  楼主 | 2014-5-24 13:56 | 只看该作者
本帖最后由 jiahongjian 于 2014-5-24 14:55 编辑

有人能帮忙解答一下吗? 例如 PTC4作为TPM0_C3V 外部信号 做计数用,如何再将PTC4作为LLWU功能唤醒MCU

使用特权

评论回复
11
dong_abc| | 2014-5-25 01:47 | 只看该作者
本帖最后由 dong_abc 于 2014-5-25 01:49 编辑

我做过这个功能。 PTC4和 llwu 都设置成输入中断。PTC4下降沿唤醒单片机,同时进入llwu中断。

void Config_pushbutton(void)
{
    FGPIOC_PDDR &= ~(0x10);  // Configure as input
   
    PORTC_PCR4 = (PORT_PCR_MUX(1)
                  | PORT_PCR_PE_MASK
                  | PORT_PCR_PS_MASK
                  | PORT_PCR_IRQC(0xA));
   
    /* Set the ICPR and ISER registers accordingly */
    NVIC_ICPR |= (uint32)(1 << ((INT_PORTC_PORTD-16)%32));
    NVIC_ISER |= (uint32)(1 << ((INT_PORTC_PORTD-16)%32));
   
    set_irq_priority(INT_PORTC_PORTD-16, 3);
}



PE_ISR(Pushbutton_Interrupt)
{   
   
   if(MCM_CPO & MCM_CPO_CPOACK_MASK){
      MCM_CPO &= ~MCM_CPO_CPOREQ_MASK;
      while (MCM_CPO & MCM_CPO_CPOACK_MASK);                                    
    }
    if ((PORTC_PCR4 & PORT_PCR_ISF_MASK) == PORT_PCR_ISF_MASK)
      
    {
        PORTC_PCR4 |= PORT_PCR_ISF_MASK;
        
    }
}

void low_power_init(void)
{
/*PTC4is configured to wake up MCU from VLLSx and LLS modes, Interrup is ne*/
enable_irq(INT_LLW-16);
        set_irq_priority(INT_LLW-16, 1);
        
        llwu_configure(0x0100/*PTC4*/, LLWU_PIN_FALLING, 0x1);
        
        PORTC_PCR4 =  PORT_PCR_PS_MASK |
        PORT_PCR_PE_MASK |
        PORT_PCR_PFE_MASK |
        PORT_PCR_IRQC(10) | /* IRQ Falling edge */
        PORT_PCR_MUX(1);
        
enable_irq(31); //Enable GPIO interrupts on PORTC
}

PE_ISR(llw_isr){
  
   if (LLWU_F2 & LLWU_F2_WUF8_MASK) {
       LLWU_F2 |= LLWU_F2_WUF8_MASK;   // write one to clear the flag
      
      if(mpu_time_mode) {mpu_25ms_cnt++;}
      else mpu_25ms_cnt = 0;
      
      if(sedent_monit_mode) sedent_time_cnt++;
      else sedent_time_cnt=0;
                  
   }   
   //***********************************************************************
   // * Note: This ISR does not write to the LLWU_F3 register because these
   // * are peripheral module wakeups.  The flags contained in the LLWU_F3
   // * register should be cleared through the associated module interrupt
   // * and not through the LLWU_F3 per the Kinetis L Family Reference
   // * Manual (LLWU Chapter)
   // *********************************************************************
  if (LLWU_F3 & LLWU_F3_MWUF0_MASK) {
         SIM_SCGC5 |= SIM_SCGC5_LPTMR_MASK;
         LPTMR0_CSR |=  LPTMR_CSR_TCF_MASK;   // write 1 to TCF to clear the LPT timer compare flag
         LPTMR0_CSR = ( LPTMR_CSR_TEN_MASK | LPTMR_CSR_TIE_MASK | LPTMR_CSR_TCF_MASK  );
   }
   if(LLWU_FILT1 & LLWU_FILT1_FILTF_MASK){
   
    LLWU_FILT1 |= LLWU_FILT1_FILTF_MASK;
   }
   if(LLWU_FILT2 & LLWU_FILT2_FILTF_MASK){
   
    LLWU_FILT2 |= LLWU_FILT2_FILTF_MASK;
   }
   NVIC_ICPR |= 1 << (LLWU_irq_no%32);
}

使用特权

评论回复
12
dong_abc| | 2014-5-25 01:54 | 只看该作者
楼主在用KL25/26这颗芯片吗?

我在这里混了个把月,纵观21ic,貌视只有我一个人在用这个芯片。

使用特权

评论回复
13
jiahongjian|  楼主 | 2014-5-26 10:35 | 只看该作者
dong_abc 发表于 2014-5-25 01:54
楼主在用KL25/26这颗芯片吗?

我在这里混了个把月,纵观21ic,貌视只有我一个人在用这个芯片。 ...

我用的KL34/36 你也在用?

使用特权

评论回复
14
dong_abc| | 2014-5-26 12:40 | 只看该作者
jiahongjian 发表于 2014-5-26 10:35
我用的KL34/36 你也在用?

我在用KL26,遇到一大堆问题。

使用特权

评论回复
15
FSL_TICS_A| | 2014-5-26 12:54 | 只看该作者
dong_abc 发表于 2014-5-26 12:40
我在用KL26,遇到一大堆问题。

请问有什么问题?

使用特权

评论回复
16
jiahongjian|  楼主 | 2014-5-26 15:26 | 只看该作者
本帖最后由 jiahongjian 于 2014-5-26 15:30 编辑
FSL_TICS_A 发表于 2014-5-26 12:54
请问有什么问题?

我的低功耗问题已经解决了
你遇到了什么问题?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

140

帖子

1

粉丝