求助 kl05 进入低功耗VLLS0_2时,怎么唤醒(已解决)
本帖最后由 FSL_TICS_ZP 于 2014-10-8 16:11 编辑如题,我配置了PB2管脚的 LLWU_P5功能,但是没有唤醒,并且单片机在低功耗模式下程序也下不进去了。
你好,楼主!
我建议你可以参考一下FRDM-KL05Z开发板的例程包中的low_power_demo例程。
里面就有进入各式低功耗模式后,以及退出的演示,你可以参考一下!
FRDM-KL05Z开发板链接:
http://www.freescale.com/zh-Hans/webapp/sps/site/prod_summary.jsp?code=FRDM-KL05Z FSL_TICS_ZP 发表于 2014-9-19 09:29
你好,楼主!
我建议你可以参考一下FRDM-KL05Z开发板的例程包中的low_power_demo例程。
里面就有进入各式低 ...
嗯,我就是参考的历程代码,不知道唤醒管脚需要外部上啦吗?我用的PB2没有唤醒 eryueniao 发表于 2014-9-19 21:02
嗯,我就是参考的历程代码,不知道唤醒管脚需要外部上啦吗?我用的PB2没有唤醒 ...
把你情况说详细一下别人才能帮助你,你怎么做的,都写下来,
很多时候出问题的可能就是小细节 本帖最后由 eryueniao 于 2014-9-21 16:02 编辑
ccrt 发表于 2014-9-20 08:57
把你情况说详细一下别人才能帮助你,你怎么做的,都写下来,
很多时候出问题的可能就是小细节 ...
void Low_Power(){
//设置唤醒管脚 PB2
IO_FUN_SEL(MKL_PORTB,2,1);//wakeup==>PB2
IO_PE_CONFIG(MKL_PORTB,2,1);
IO_PS_CONFIG(MKL_PORTB,2,1);
GPIO_DDR_INPUT(MKL_PORTB,2);
IO_IRQ_CONFIG(MKL_PORTB,2, IO_EITHER_EDGE_IRQ);
NVIC_EnableIRQ(PORTB_IRQn);//开启GPIOB中断
NVIC_SetPriority(PORTB_IRQn,2);//设置GPIOB优先级 //
enable_irq (7); //LLWU中断
enable_irq (31); //PTB中断
PORTB_PCR2 = PORT_PCR_MUX(1);//ADC_TEMPER// 开启PB2管脚LLWU_P5功能
LLWU_PE2_WUPE5(0x03);//下降沿
LLWU_F1 |= LLWU_F1_WUF5_MASK; // write one to clear the flag
__enable_irq();
}
void LLWU_Test(){
Low_Power();
SMC_PMPROT = SMC_PMPROT_AVLLS_MASK;
SMC_PMCTRL = SMC_PMCTRL_STOPM(4);//Very-Low-Leakage Stop (VLLSx)
SMC_STOPCTRL = SMC_PMCTRL_STOPM(0) | SMC_STOPCTRL_PORPO_MASK;// disable POR circuit
//This bit controls whether the POR detect circuit is enabled in VLLS0 mode.
stop ();//进入此模式就下载不了程序了
Yp_Xty_Cx();
while(1);
} 本帖最后由 FSL_TICS_ZP 于 2014-9-22 08:51 编辑
eryueniao 发表于 2014-9-19 21:02
嗯,我就是参考的历程代码,不知道唤醒管脚需要外部上啦吗?我用的PB2没有唤醒 ...
楼主,现在我有点对你的问题有感到疑问,
首贴,你说MCU进入低功耗模式后,无法唤醒。
但是,你有回帖说程序下载不进去,能否请你再解释一下你的疑问! FSL_TICS_ZP 发表于 2014-9-22 08:46
楼主,现在我有点对你的问题有感到疑问,
首贴,你说MCU进入低功耗模式后,无法唤醒。
但是,你有回帖说 ...
我先下载了我编译的低功耗程序之后,在下载程序就下不进去了。
下载完低功耗程序之后,我用万用表测电源电流已经达到nA级了,所以我说他进入低功耗模式了。
我ptb2管脚接了一个按键,下降沿唤醒,但是按下按键没有唤醒,重新下载程序也下不进去了。(低功耗时下载管脚没有配置,还是默认配置) eryueniao 发表于 2014-9-22 09:09
我先下载了我编译的低功耗程序之后,在下载程序就下不进去了。
下载完低功耗程序之后,我用万用表测电源 ...
你好,负责在线支持kinetis产品的工程师,这两天外出培训了,周三回来。希望网友们热心回复和积极讨论哈~~ 关注一下,Kenites系列的例程里大多数都只有进入休眠的例子,没有唤醒的例子哈。{:funk:} eryueniao 发表于 2014-9-22 09:09
我先下载了我编译的低功耗程序之后,在下载程序就下不进去了。
下载完低功耗程序之后,我用万用表测电源 ...
1.对于不能再下载程序,我建议你重新上电后,马上连接再试试,或者按Reset键后,马上进行Debug。
2.关于引脚唤醒定功耗模式,例程上应该是有的,你完全可以参考。 本帖最后由 eryueniao 于 2014-9-23 08:42 编辑
FSL_TICS_ZP 发表于 2014-9-22 14:32
1.对于不能再下载程序,我建议你重新上电后,马上连接再试试,或者按Reset键后,马上进行Debug。
2.关于 ...
又仔细看了遍例程,把之前程序的LLWU_PE2_WUPE5(0x02);改成LLWU_PE2 = LLWU_PE2_WUPE5(0x02);之后可以唤醒,
但是唤醒之后我加了点灯程序,led没有亮。
我的测试过程,上电,灯亮,电流为8mA
进入低功耗,灯灭,电流为 0.1~0.2 uA(万用表测的)
唤醒,灯不亮,电流7.4mA
唤醒之后我的程序是点灯和检测按键,灯没亮,不知道怎么回事?
我重复测了好几遍,都是这样的现象。
注:在 stop()语句后加的点灯程序 eryueniao 发表于 2014-9-23 08:40
又仔细看了遍例程,把之前程序的LLWU_PE2_WUPE5(0x02);改成LLWU_PE2 = LLWU_PE2_WUPE5(0x02);之后可以唤 ...
你好,楼主!
从VLLS0唤醒后,引脚状态被嵌制,需要释放,具体请看以下图片。
FSL_TICS_ZP 发表于 2014-9-23 09:20
你好,楼主!
从VLLS0唤醒后,引脚状态被嵌制,需要释放,具体请看以下图片。
...
哈哈 成功了 感谢飞思卡尔,感谢阿莫论坛 {:lol:} eryueniao 发表于 2014-9-23 09:50
哈哈 成功了 感谢飞思卡尔,感谢阿莫论坛
不客气,有问题再交流! FSL_TICS_ZP 发表于 2014-9-23 10:44
不客气,有问题再交流!
又遇到问题了,唤醒之后串口又不打印了 eryueniao 发表于 2014-9-23 10:52
又遇到问题了,唤醒之后串口又不打印了
一般唤醒后,首先要检查目前的时钟模式是否是PEE模式,如果没有确保进入PEE模式,,然后最好
重新配置一些UART时钟,确保万无一失。 FSL_TICS_ZP 发表于 2014-9-23 11:20
一般唤醒后,首先要检查目前的时钟模式是否是PEE模式,如果没有确保进入PEE模式,,然后最好
重新配置一 ...
我是这样设置的,不知道还需要设置什么
stop ();
MCG_C6 |= MCG_C6_CME0_MASK;
PORTB_PCR3 = PORT_PCR_MUX(0x2); /* UART0_TXD */
PORTB_PCR4 = PORT_PCR_MUX(0x2);
delay(50);
if((PMC_REGSC & 0x08) == 0x08)
PMC_REGSC |= 0x08;
//uart0SendString("ket2\n");
if (LLWU_F1 & LLWU_F1_WUF6_MASK) {
LLWU_F1 |= LLWU_F1_WUF6_MASK;
}
uart0Init(9600,0,0,8,1);
delay(50);
uart0SendString("up\n"); //唤醒后串口一直收不到 eryueniao 发表于 2014-9-23 14:07
我是这样设置的,不知道还需要设置什么
stop ();
问题已经解决,在飞思卡尔论坛找到的资料
KL系列低功耗例程KEIL工程补丁 KL系列低功耗例程KEIL工程补丁.收藏。 32MCU 发表于 2014-9-26 09:58
KL系列低功耗例程KEIL工程补丁.收藏。
enen低功耗必须的打补丁
页:
[1]