TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP432 power_change 例程,在LPM3模式下,寄存器没有变

(发到MSP430的区一直没人回,原谅我换个地方发。。)

用的MPS432P401R,红色那个原装的板子。

用官方的power_change例程,想试试深度睡眠模式。在前面几个AM_LDO,AM_DCDC都挺好的,没什么问题。但是从LPM0开始就有点问题了,主程序是进了gotoLPM0()(因为我暂停的时候,是停在CPU_wfi()这个函数里的),但是寄存器PCMCTL0里始终是AM_DCDC,LDO,LF在循环,没有出现LPM_DCDC,LDO,LF的情况,如图1。
后来切入LPM3的时候,PCM寄存器的值还是AM的,没有变,我又去看时钟寄存器里的值,如图2。这个时候,程序应该进LPM3了,但是这个MCLK的时钟,还是选的3M的DCO,分频也是1。

这就不太懂了,LPM3时MCLK不应该最大32k吗,我现在到底是进了LPM3还是没进呢。
还是说我已经进了LPM3,但是调试的时候相当于打断点,一暂停,系统自动从LPM3进入AM模式?

我又仔细看了下,在进PCM_gotoLPM0()之前,包括在PCM_gotoLPM0()这个函数里,好像没有地方改变PCM->CTL0寄存器中第12个位置的值的情况。当这个第12个位置的值为1的时候,标志着进LPM0,一直没有改就一直是0,所以一直是AM的情况。如图3.
这是什么鬼,没有改寄存器的值,是不是相当于一直没进睡眠模式啊?只是调用gotoLPM0中的CPU_wfi忽悠我,让我以为进了LPM0?
后来又试LPM3.5模式,这个倒是把PCMCTL0中LPMR改成Ah了,对应的LPM35。但是我看cs时钟寄存器,里面MCLK还是选的DCO啊,1分频,不太明白,还请指教,谢谢!
gaoyang9992006:

回复 yunhao cui:

对,如果有中文手册就比较好搞明白了,英文看着不容易找关键词。

赞(0)
未经允许不得转载:TI中文支持网 » MSP432 power_change 例程,在LPM3模式下,寄存器没有变
分享到: 更多 (0)