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.

[参考译文] 测量计时器到期时间

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1311008/measuring-timer-expiration-time

您好!

我使用的是 am243x-EVM。

我使用"syscfg"为31.25us 设置计时器  

是有效设置吗?

在回调内部、我将切换 LED26、并在 LED26上连接一个示波器来测量周期。

我将得到一个方波、其显示每~100ms 切换一次、而不是预期的32usec。

它是否是一种有效的 测量方法?

如何正确设置定时器并正确测量?

谢谢。

Eli

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

    尊敬的 Eli:

    您将需要在设置后启动计时器:

    我在空项目中使用以下计时器 ISR 对上述设置进行了测试。 让它运行10s、然后检查 gTimerCounter 值。 gTimerCounter*31.25/1000000约为10。

    uint32_t gTimerCounter = 0;
    空 myTimerISR (空)
    {
      gTimerCounter++;

    void empty_main (void *args)
    {
      /*打开驱动程序以打开控制台的 UART 驱动程序*/
      drivers_open();
      Board_driversOpen();

      while (1)
      {

      }

      DebugP_log ("所有测试均已通过!!\r\n ");

      Board_driversClose ();
      drivers_close();

    此致、

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

    尊敬的 Ming:

    我将通过  TimerP_start (gTimerBaseAddr [CONFIG_TIMER0])启动计时器;

    然后、它进入我编写的回调。

    bool  b_leed_toggle=false;

    空 TimerTick (空)
    {
     debug_leed_on (b_leed_toggle);
     b_LED_TOGGLE =!b_LED_TOGGLE;

    示波器显示正在切换~100ms。 非32us

    如果我这样做  

    uint32_t counter=0;

    空 TimerTick (空)
    {
     计数器++;

    如果我在10秒后进行分频、我得到~1000

    我怀疑计时器在100ms 时工作正常、  

    我已经尝试使用优先级0 -相同的时间!

    我正在后台使用 FreeRTOS、它是否会影响计时器节拍?

    请建议:

    谢谢。

    此致、

    Eli

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

    尊敬的 Eli:

    根据您的测试结果、10秒的计数器为~1000。 节拍周期设置为10000us (10ms)、但新计时器实例的默认节拍周期为1000us (1ms)。 这里出了问题。

    FreeRTOS 仅使用 TIMER8。 它不应影响 DMTimer0。

    您使用的是哪个版本的 MCU+ SDK? 我使用的是 AM243x MCU+ SDK 09.01.00.41

    此致、

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

    尊敬的 Ming:

    现在计时器运行正常- 31.25us。

    我想也许重建帮助,但我不知道是什么问题。

    谢谢。

    此致、

    Eli