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/LAUNCHXL-F28379D:加电后获得微秒数的函数?

Guru**** 2613355 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/694364/ccs-launchxl-f28379d-function-to-obtain-number-of-micoseconds-since-power-up

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件:C2000WARE

工具/软件:Code Composer Studio

您好!

我想知道微控制器上电后是否有任何函数来获得微秒(或毫秒)的次数。 这是为了测量两个传感器测量之间的时间差。 C2000Ware 中是否有任何使用此类函数的示例?

实质上、我正在 Arduino 中寻找类似于 micros()的功能。

谢谢、

Samvrit

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

    我们没有直接的示例来测量此时间。
    您可以使用 c2000ware\driverlib\f2837xd\examples\cpu1\timer 中的 CPUtimer 示例。

    此示例配置 CPU Timer0、1和2、并在计时器每次发出中断时递增计数器。
    目前,它将 CPU 定时器0、1和2配置为每秒中断一次。

    使用一个计时器。 将 CPU 定时器0配置为每秒中断一次。
    可变计数器 cpuTimer0IntCount 每秒递增一次、可通过检查该计数器来测量两次传感器测量之间的时间差。
    如果需要较低的分辨率,可以将计时器配置为在不到一秒的时间内中断。

    此致。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更简单的是、只需将计时器配置为以您的首选速率计数、并在您想知道经过的时间时读取它。 保存中断。 当计数器在低16和高16之间流动时、我们无法读取、因此我们使用一个例程重复读取它、直到行匹配中的2个读数。 这也只适用于实验运行时整个计数器不能溢出到零。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Samvrit、

    抱歉、但您无法执行此操作。  micros()函数从器件时钟稳定后的某个点开始测量时间,而不是从加电开始。  加电后、您必须等待 PLL 锁定、然后再进行任何时间测量、否则时钟将不稳定、并且数字将错误。 锁定时间不是确定性的;它在一定程度上取决于器件、工艺、温度等

    只需确保您知道自己不会获得从上电开始的实际时间。

    此致、

    Richard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于 Samvrit 说"这是为了测量两个传感器测量之间的时间差"、因此很可能是可以的。