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.

[参考译文] CC2340R5:LGPTimer

Guru**** 2589300 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1336818/cc2340r5-lgptimer

器件型号:CC2340R5

我想使用 LPGTimer ,所以我编写测试代码,并设置 counterTarget = 48M(1 s ),,但它只进入 TimerCallback()每秒,但保持在 TimerCallback()中而不跳出(3 ~ 6 ms)。 不存在计时效应

但是,我将 SLEEP()和 LGPTimerLPF3_STOP 设置为每秒进入 TimerCallback。

设置 CounterTarget 的函数是什么? 难道不是只是使用 SLEEP (1)来设置计时器吗?

PS。 我用示波器来查看 GPIO_toggle,我的 SDK 为7_10_00_35

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

    您好、Ryan、

    第一个代码映像似乎离开 mainThread 而没有执行任何循环函数、这可能会导致该行为停留在计时器回调中。

    第二个代码映像应用 SLEEP、如果这导致器件进入 STANDBY 模式、则会在高频时钟关闭时有效地禁用 LGPTimer (请参阅 数据表中的表9-2功率模式)。   电源管理部分的 LGPTimer TI 驱动程序 API 中也提到了这一点。  因此、您应该使用 SLEEP 进入 STANDBY 模式一秒钟、或使用 while 循环来实现 LGPTimer。  你还可以 挂起/发布信标 来完成线程同步。  uart2callback 示例中演示了该行为

    此致、
    瑞安

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

    这是否意味着 CounterTarget 被设置为允许计时器进入 TimerCallback?  我 仍然需要使用 while ()和 sleep ()定期进入回调。

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

    CounterTarget 设置计时器在升高中断位、复位计数和 重新启动进程(给定所示的当前设置、即定期递增计数)之前递增计数的值。  如需详细了解此实施方案、请访问  \source\ti\drivers\timer\lgptimerLPF3.c

    此致、
    瑞安