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.

[参考译文] IWRL6432:功耗模式下的 LPD 示例

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1410595/iwrl6432-lpds-in-power-modes-example

器件型号:IWRL6432

工具与软件:

尊敬的 TI 专家:

我略微修改了 SDK 5.5.0.2中的功耗模式示例、将 LPDS 的阈值从30000000更改为20000、并将 SLEEP_TIME_TICKS 从50000更改为999。 然后、我修改了空闲任务、以便当功耗模式示例进入 LPDS 用例并调用 xSemaphoreTake (gPowerSem、sleep_time_ticks)时、空闲任务会输出 xExpectedIdleTime 的值。

我不明白的是、当 SLEEP_TIME_TICKs = 999时、xExpectedIdleTime 的值为999、它不会进入 LPDS。 但是、当 SLEEP_TIME_TICKs = 1000时、xExpectedIdleTime 的值为1000、并且会进入 LPDS。 当 SLEEP_TIME_TICKs = 999时、系统为何不进入 LPDS?

此致、
Daniel

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

    你(们)好

    感谢您的提问。 请允许我们在几天内回复。

    此致

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

    您好!

    这可能是由于 mmwave_L_SDK_05_05_00_02\source\kernel\freertos\dpl\common\power_xwrLx4xx_freertos.c 中的 vPortSuppressTicksAndSleep ()中存在类型转换问题  

    请将  idleTicks 更 改为

    静态易失性浮点  idleTicks = 0

    似乎999没有在函数   vPortSuppressTicksAndSleep ()中正确划分。

    请注意、您必须重新编译库

    此致

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

    尊敬的 Abhishek:

    我通过修改代码时间=((idleTicks / configTICK_RATE_Hz)* 1000000);到时间=((idleTicks * 1000000)/ configTICK_RATE_Hz)来解决该问题。

    此致、
    Daniel