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.

[参考译文] 编译器/TM4C1290NCPDT:如何通过编程方式找出我的系统时钟频率

Guru**** 2529120 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/853107/compiler-tm4c1290ncpdt-how-programmatically-i-can-find-out-what-is-my-system-clock-frequency

器件型号:TM4C1290NCPDT

工具/软件:TI C/C++编译器

我对 TI 非常陌生 、想了解如何了解我的时钟频率是多少?

哪个 API 调用适合它?

谢谢

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

    我不确定是否存在 API 调用-但您可以(始终)设置 MCU 的一个计时器来提供系统时钟的"频率缩放副本"-并输出该副本。   (工作人员建议使用"DIVIVI by 8"(8倍视频)-这将产生"轻松测量"15MHz (如果系统时钟设置为 MAX [120MHz])-并且不会向您(假定的)外部振荡器组件添加(干扰)。)

    注:请特别注意系统控制时钟/频率设置命令。   如果出现这种错误、MCU 将"锁闭"!   (有许多示例-请务必搜索/查找/遵守!)

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

    您好、Sergey、

     请参考下面的任何 TivaWare 示例 /examples/boards/ek_tm4c1294xl/. 从 hell/hell.c 示例开始、您将找到如下所示的 API、以配置系统时钟频率并将时钟频率返回到 g_ui32SysClock、您稍后可以在应用中使用该 API。

    //
    //从 PLL 以120MHz 运行。
    //
    G_ui32SysClock = MAP_SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz |
    SYSCTL_OSC_MAIN | SYSCTL_USE_PLL |
    SYSCTL_CFG_VCO_480)、120000000); 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请允许我们注意、"一个对心脏的讨价还价"、这是一个被认为是一个非常有利的、提前到达(第一次到达)的建议!    

    任何东西都无法"直接和 实际、可观察(和可测量)的频率输出"竞争-这种输出可能(通常)证明其价值!   (因为它可以用作其他板载器件的精确频率源。)   

    依赖(仅限于)"过于复杂"的软件(涉及多个相互关联的参数以确保准确性)并不总是被认为是有效的。   只需回顾 (两个) API 调用的长度、深度和范围(几乎无限)、然后注意"此处有多少" 被强制为"求助!"。  

    监管机构(适当地)对这种高度授权的"仅软件"方法"不满。    和-如果外部振荡器组件(任何)出现"超出规格"、错误标记或"松脱"、或者老化和/或变得"不准确"、则会发生什么情况。   (我相信软件会致电供应商、建议他们无法检测到此类问题、并且(不正确)报告"一切都很好!)    事实上,这不是!

    此类缺陷本来可以(正确且令人信服)通过  更稳健且更简单的硬件/缩写软件方法(证明更直接、更简单/更短-使用基本的 MCU 计时器软件 API)检测到。

    遗憾的是、这种"有利的方法(曾)被驳回/被踢到路边...