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.

[参考译文] CC1312R:传感器控制器任务同步

Guru**** 2553260 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/987042/cc1312r-sensor-controller-task-synchronization

器件型号:CC1312R

您好!

抱歉、我没有将该主题发布到正确的部分。 我计划使用传感器控制器处理器、我对此有疑问。 假设我有3个需要定期执行的传感器任务、是否可以在3个传感器任务完成后唤醒主 CPU? 我找到的唯一方法(正如我所理解的)是从一个任务控制传感器(如下所示:  https://www.ti.com/lit/an/swra586/swra586.pdf)或在任务完成时唤醒主 CPU、以便主应用程序可以查看是否已执行所有任务(请参阅此处: https://software-dl.ti.com/lprf/simplelink_academy/modules/sc_02_ranger/sc_02_ranger.html#handle-sc-alert-events)。 据我从 Sensor Controller Studio 入门指南中了解到的、任务无法相互传递数据、因此无法知道所有任务何时完成、以便主 CPU 收到警报。


如果我发现的第一个选项是唯一的实现方法、那么我将以这种方式实现它、但与在主 CPU 上实现它相比、功耗效率更高、因为每分钟读取一次、 正在执行3个传感器任务(2个 ADC、1个 I2C)?  总之、我想知道是否有一种方法可以在任务级同步传感器。 我计划将 TI 15.4 Stack 中的轮询和报告间隔替换为该间隔。

提前非常感谢!

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

    您不能在单个任务中执行所有操作是否有任何原因?

    最简单的方法是让任务以您希望读取传感器的速率执行、当读取所有3个传感器时、您会通知应用程序。

    例如、您可以每500ms 读取一次所有传感器、然后向传感器控制器代码添加逻辑、这样、除非传感器值与上次读取的值相比发生了一定的变化、否则不会通知应用程序。

    BR

    Siri

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

    您好、Siri、

    感谢您的回答。 不、我可以在单个任务中执行所有操作、然后我将执行此操作。 我只是想知道是否可以在任务级别执行该操作、因为这在 SCS 中更易于维护。