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.

[参考译文] TMS320F28374S:系统时钟初始化和 SYSCTL_setClock()的使用

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/694201/tms320f28374s-system-clock-initialization-and-sysctl_setclock-usage

器件型号:TMS320F28374S

大家好、

我正在开发基于 F28374S 和 driverlib 的应用。

我已根据 C2000 Ware 示例执行系统时钟初始化:

SYSCTL_setclock (device_setClock_CFG);

断言(SYSCTL_getClock (DEVICE_OSCSRC_FREQ)== DEVICE_SYSCLK_FREQ)

 

检查 sysctl_setclock()返回值并使用 sysctl_resetMCD()执行重试是否足够安全?

 

谢谢、

卡洛

 

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

    该断言旨在开发期间进行调试、以帮助捕捉运行时问题和无效参数。 您可以同时使用这两种方法,但您应该计划使用 SYSCTL_setClock()中的返回值并相应地进行处理。

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

    那么、它是否可以是这样的呢?


    bool时钟运行;

    时钟运行= false;

    while (!时钟运行)

    clockRunning = SYSCTL_setClock (device_setClock_CFG);

    如果(!时钟运行)

    sysctl_resetMCD();



    // si verifica Che a frequisenza di clock configurata cinci a con quella attesa
    assert (SYSCTL_getClock (OSCSRC_FREQ)== SYSCLK_FREQ);


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

    是的、看起来不错。

    此致
    Chris