|
(发到MSP430的区一直没人回,原谅我换个地方发。。) 用的MPS432P401R,红色那个原装的板子。 用官方的power_change例程,想试试深度睡眠模式。在前面几个AM_LDO,AM_DCDC都挺好的,没什么问题。但是从LPM0开始就有点问题了,主程序是进了gotoLPM0()(因为我暂停的时候,是停在CPU_wfi()这个函数里的),但是寄存器PCMCTL0里始终是AM_DCDC,LDO,LF在循环,没有出现LPM_DCDC,LDO,LF的情况,如图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:
对,如果有中文手册就比较好搞明白了,英文看着不容易找关键词。
TI中文支持网



