This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP432E411Y:如何更改核心时钟频率

Guru**** 633810 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1071432/msp432e411y-how-do-i-change-the-core-clock-frequency

部件号:MSP432E411Y
《线程》中讨论的其他部件:MSP432P411V

我使用的是 MSP432P411V,而不是 E 部件。  为了降低功耗,我希望以低于默认48MHz 的速率运行 CPU—可能是24 MHz,甚至是14MHz。  如何执行此操作?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    据我所知,P411x 系列(如 P401R)以 MCLK=DCO=3MHz (DCORLSE=1)启动。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我需要更改初始化 PerfLevel

    PowerMSP432_PerfLevel myPerfLevels[]=

      {
         .ActiveState = PCM_AM_DCDCD_VCORE0,
         VCORE =0,
         时钟源= CS_DCOCLK_SELECT,
         DCORESEL = CS_DCO_TUNE_FREQ,
         .tuneFreqDCO = 8000000,
         .SELM = CS_DCOCLK_SELECT,
         .DIVM = CS_CLOCK 分隔符_1,
         小轮= CS_DCOCLK_SELECT,
         DIVHS = CS_CLOCK 分隔器_1,
         divs = CS_clock 分隔符_1,
         .SELB = CS_REFOCLK_SELECT,
         拉美经济体系= CS_REFOCLK_SELECT,
         .dIVA = CS_clock 分隔符_1,
         .flashWaitStates = 0,
         .enableFlashBuffer =真,
         .MCLK = 80000,
         HSMCLK =80000,
         .SMCLK =8000000,
         BCLK = 32768,
         .ACLK = 32768,
      }
    };

    错误1
    const PowerMSP432_ConfigV1 PowerMSP432_config ={
       policyInitFxn =&PowerMSP432_initPolicy,
       policyfxn =&PowerMSP432_deepSleep 策略,
       .initialPerfLevel = 4,
       .enablePolicy =真,
       .enablePerf =真,
       .enableParking = true,
       .customPerfLevels = myPerfLevels,
       .numCustom = sizeof(myPerfLevels)/ sizeof(PowerMSP432_PerfLevel),
       useExtendedPerf = true,
       .enableInterruptsCS =真,
       .priorityInterruptsCS =~0,
       .isrCS = 0,
    };

    #else

    const PowerMSP432_ConfigV1 PowerMSP432_config =

      policyInitFxn =&PowerMSP432_initPolicy,
      policyfxn =&PowerMSP432_deepSleep 策略,
      .initialPerfLevel = 0,
      .enablePolicy =真,
      .enablePerf =真,
      .enableParking =真
    };
    #endif