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.

[参考译文] CCS/MSP432P401R:12+ MHz DCO频率问题

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/582696/ccs-msp432p401r-problems-with-12-mhz-dco-frequencies

部件号:MSP432P401R

工具/软件:Code Composer Studio

我正在尝试让DCO达到48 MHz的最大频率。  但是,如果我使用12 MHz以上的任何设备,调试器将开始不断地自我重置。  此时,如果我尝试加载新代码,CCS将会说主板不再是 MSP432P401R,我必须将其恢复出厂设置。  是否有人知道可能导致这种情况发生的问题?  图片和测试代码如下。  感谢你的帮助。

//*************************************************************************************************
////
MSP432 main.c模板-空主模板
////**************************************************************************************


#include "msp.h"
#include "driverlib.h"

void main(void){

	
WDTCTL = WDTPW | WDTHOLD; //停止看门狗计时器

CS->键= 0x695A;
cs->CTL0 |= 0x4万;
CS->密钥= 0x0000;
int n=0;
同时(1)
{n++;}
	
}} 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    void clockInit (void)
    {
    /* 2个闪存等待状态,VCORE =1,正在关闭直流-直流,48 MHz */
    Flashctl_setWaitState( FLASH_BANK0, 2);
    Flashctl_setWaitState( FLASH_Bank1,2);
    PCM_setPowerState( PCM_AM_DCDC_VCORE1 );
    cs_setDCOCenteredFrequency( CS_DCO_Frequency_48 );
    cs_setDCOFrequency(4800万);
    cs_initClockSignal (CS_MCLK,CS_DCOCLK_SELECT,1);
    cs_initClockSignal (CS_SMCLK,CS_DCOCLK_SELECT,1);
    cs_initClockSignal (CS_HSMCLK,CS_DCOCLK_SELECT,1);
    
    返回;
    }
    

    这是您的主板还是Launchpad? 如果您的主板,晶体频率是多少?

    我的Launchpad在上面的grlib 5300触摸屏示例中工作正常。 我确实删除了CS_setDCOFrequency(4800万);行,因为它看起来是冗余的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是使用Launchpad。 我已将两种等待状态添加到测试代码中,现在似乎工作正常。 您是否可以详细说明等待状态是什么以及为什么需要等待状态?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不是真的,我只是跟着这个例子。 8^)。 但闪存似乎太慢,无法保持48 MHz,因此您需要告诉CPU延迟一段时间才能获得有效读取。

    来自432系列用户指南:
    "闪存控制器可根据其维修任何所需的内存总线周期数进行配置
    Read命令。 这允许CPU执行频率高于最大读取频率
    受闪存支持。 如果总线时钟速度高于闪存的本机频率,
    在配置的等待状态数下,访问会停止,从而允许访问闪存中的数据
    可靠。
    需要用户软件根据CPU将等待状态数编程到这些寄存器中
    执行频率。
    表8-1中的MSP432驱动程序库API可用于设置闪存等待状态。"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这毫无意义。 感谢你的帮助。