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.

[参考译文] TMS320F28069M:在 Motorware 中将内部振荡器更改为外部振荡器

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/675167/tms320f28069m-change-internal-oscillator-to-external-oscillator-in-motorware

器件型号:TMS320F28069M

大家好、

我最近尝试在 HAL_setupClks 函数中将内部振荡器切换到外部振荡器。 我需要保持系统时钟90Mhz 不变。 我在论坛上提到过关于这一点的几次对话。 但没有奏效。

到目前为止、我尝试模仿 HAL_setupClks 中的 XTALOscSel 函数的控制 、如下所示:  


clk_enableCrystalOsc (obj->clkHandle);//启用

usDelay (1000);

clk_disableClkIn (obj->clkHandle);


CLK_setOsc2Src (obj->clkHandle、CLK_Osc2Src_External);

CLK_setOscSrc (obj->clkHandle、CLK_OscSrc_External);


clk_setLowSpdPreScale(obj->clkHandle, CLK_LowSpdPreScale_SYSCLKOUT_By_1);

clk_setClkOutPreScale(obj->clkHandle, CLK_ClkOutPreScale_SYSCLKOUT_By_1);

但没有奏效。 有没有外部振荡器的示例。 请帮我解决这个问题。

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    外部振荡器的频率是多少? 参考代码用于20MHz 振荡器、如下所示。

    //启用晶体振荡器
    clk_enableCrystalOsc (obj->clkHandle);

    //在转换 ADC 通道之前延迟1ms
    usDelay (10000);

    //禁用中的外部时钟
    clk_disableClkIn (obj->clkHandle);

    //设置振荡器源
    CLK_setOscSrc (obj->clkHandle、CLK_OscSrc_External);

    //从 INTOSC1切换到 INTOSC2/ext clk
    CLK_setOsc2Src (obj->clkHandle、CLK_Osc2Src_External);

    //启用内部振荡器1
    CLK_enableOsc1 (obj->clkHandle);

    //禁用振荡器2
    clk_disableOsc2 (obj->clkHandle);

    您需要在 HAL_setupPll()中更改 PLL 分频器
    PLL_setDivideSelect (obj->pllHandle、PLL_DivideSelect_CLKIN_BY_4);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢您 Yanming、工作正常。