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.

DSP28377S

问题1:程序编译没错误,每次运行到

// first modify the PLL multipliers
if(imult != ClkCfgRegs.SYSPLLMULT.bit.IMULT || fmult != ClkCfgRegs.SYSPLLMULT.bit.FMULT)
{
// Bypass PLL and set dividers to /1
ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 0;
ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = 0;

就会停止,求帮助!

问题2:用的TI自带的例程,LED闪烁的,为什么下载后没有电平翻转?

  • 还有就是程序会停在这里

    while(ClkCfgRegs.SYSPLLSTS.bit.LOCKS != 1)

    请大家指点!

  • 你的InitSysPll是怎么配置的?你在程序中单步一下,看GPIO的寄存器是否有变化。

  • 我就是单步运行的,选用的内部时钟,配置为160M,

    #ifdef _LAUNCHXL_F28377S
    InitSysPll(XTAL_OSC,IMULT_40,FMULT_0,PLLCLK_BY_2); //PLLSYSCLK = (XTAL_OSC) * (IMULT + FMULT) / (PLLSYSCLKDIV)
    #else
    // InitSysPll(XTAL_OSC,IMULT_20,FMULT_0,PLLCLK_BY_2); //PLLSYSCLK = (XTAL_OSC) * (IMULT + FMULT) / (PLLSYSCLKDIV)
    InitSysPll(INT_OSC2,IMULT_32,FMULT_0,PLLCLK_BY_2); //PLLSYSCLK = (XTAL_OSC) * (IMULT + FMULT) / (PLLSYSCLKDIV)

    单步运行一直停在下面这个地方

    // Wait for the SYSPLL lock
    while(ClkCfgRegs.SYSPLLSTS.bit.LOCKS != 1)
    {
    // Uncomment to service the watchdog
    // ServiceDog();
    }

  • 另外再请教一下

    新建的工程,include options 都设置好了,和例程的一模一样,为什么会出现这个问题,万分谢谢!

  • while(ClkCfgRegs.SYSPLLSTS.bit.LOCKS != 1)是个等待函数,在这里不能单步,我说的单步是第二个LED闪烁的程序单步调试。配置PLL的时候全速运行的话会停下来吗?

  • 头文件报错的问题还是相关的头文件路径没有添加进去或路径错误导致的,你在工程的include的路径中看能不能找得到报错的这些头文件。

  • while(ClkCfgRegs.SYSPLLSTS.bit.LOCKS != 1)  出不来    我也遇到这个问题 请问你是怎么解决的?


  • 您好,现在我也遇到了这个问题,我用自己画的板子下载程序,程序一直卡死在while(ClkCfgRegs.SYSPLLSTS.bit.LOCKS != 1)

    但是换官方的launchpad就没有这个问题,不知道您是怎么解决的,还请不吝赐教。