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.
工具与软件:
尊敬的 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 更 改为
似乎999没有在函数 vPortSuppressTicksAndSleep ()中正确划分。
请注意、您必须重新编译库
此致
尊敬的 Abhishek:
我通过修改代码时间=((idleTicks / configTICK_RATE_Hz)* 1000000);到时间=((idleTicks * 1000000)/ configTICK_RATE_Hz)来解决该问题。
此致、
Daniel