打印
[技术问题解答]

KE04进入STOP模式后,通过KBI1_P5或者UART0边沿触发不能唤醒(...

[复制链接]
1684|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
panic_pan|  楼主 | 2015-3-16 15:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 panic_pan 于 2015-3-18 18:28 编辑

大家好!最近在调试一块控制板,芯片是MKE04Z8VWJ4,使用KBI1_P5(PTC3),UART0(PTA2,PTA3),使用内部晶振,使用...\KEXX_DRIVERS_V1.2.1_DEVD\kexx_drv_lib\build\iar\ke04\KBI_demo例程上修改。主要调试进入低功耗(STOP)和通过KBI或者UART0边沿触发唤醒功能。现在的问题是:
KBI1功能正常,能进入中断,UART0通信正常,能中断收发。当我进入STOP模式的时候,实测功耗降低了,说明已经进入stop模式,但是当我通过KBI唤醒的时候,没有唤醒,同样通过UART0边沿也无法唤醒。查找了手册,也没有发现什么问题,请大神帮忙解惑,谢谢!下面是部分代码:

KBI1_P5初始化:
/* Disable all the KBI pins */
    for (i = 0; i < KBI_MAX_PINS_PER_PORT; i++)
    {
       sKBIConfig.sPin.bEn         = 0;
    }
    sKBIConfig.sBits.bMode   = KBI_MODE_EDGE_ONLY;
    sKBIConfig.sPin[5].bEdge = KBI_FALLING_EDGE_LOW_LEVEL;  //KBI1_P5
    sKBIConfig.sBits.bIntEn  = 1;
    sKBIConfig.sPin[5].bEn   = 1;    //KBI1_P5
    KBI_Init(KBI1, &sKBIConfig);

进入stop模式前后UART0配置:
     UART0->C2 |= UART_C2_RIE_MASK;
      UART0->BDH |= UART_BDH_RXEDGIE_MASK;
      NVIC_EnableIRQ(UART0_IRQn);    //enter stop mode
      ICS->C1 &= ~ICS_C1_IREFSTEN_MASK;
      PMC_SetMode(&sPMC,PmcModeStop4);      
      UART0->BDH &= ~UART_BDH_RXEDGIE_MASK;



相关帖子

沙发
panic_pan|  楼主 | 2015-3-17 23:26 | 只看该作者
没有回复就自己顶了:lol,还好问题解决了。最后找了硬件,原来是硬件的问题,给硬件调了一下就好了。现在又遇到个问题,就是UART配置成单线通信(半双工),通过配置边沿触发唤醒时,始终不能唤醒stop模式。查看手册,配置边沿触发是配置RXD寄存器,但是单线通信模式只能用TXD,如果要用边沿触发,需要什么配置?或者这种单线通信模式根本就不能实现边沿触发唤醒功能?请各位大神帮忙解答,谢谢!

使用特权

评论回复
板凳
FSL_TICS_ZJJ| | 2015-4-10 13:56 | 只看该作者
非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决.

使用特权

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

本版积分规则

2

主题

16

帖子

1

粉丝