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:不带 RTOS 的多传感器控制器任务

Guru**** 2563960 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/875043/cc1312r-multiple-sensor-controller-tasks-without-rtos

器件型号:CC1312R

我正在尝试从传感器控制器运行多个任务、但每当我启动多个任务时、只有一个任务会运行。 其他的被阻止执行。 我不确定是在 Sensor Controller Studio 内还是在我的应用程序代码内正确安排任务。

我已经阅读过 SCS 中的任务控制项目、但由于我的设计是裸机、我不确定如何实现它。

目前、我正在处理的两个任务是脉冲计数器和计时器1、但我们计划在未来添加更多任务。

谢谢你

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

    尊敬的 Edward:

    在此上下文中运行多个任务意味着什么? 传感器控制器在给定的时间只能执行一个任务、并且没有内置的占先。
    您能否详细说明一下您正尝试实现的目标?  

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

    我想知道的一个主要问题是、您是否能够同时保持多个任务处于活动状态、但不能运行它们的执行块?

    例如、一旦任务是使用 TDC 预分频器的脉冲计数器。 初始化代码启用了脉冲计数器,执行代码仅在 手动调用 pcntGetValue()时才调用它。 它还可以生成警报。  

    我希望单次触发计时器的另一项任务能够在完成时发送警报、但是、在该计时器倒计时期间、我希望脉冲计数器仍在对脉冲进行寄存和计数。 我想知道这是否可行。 到目前为止、当我在手动执行脉冲计数器执行块后尝试调度计时器任务时、它永远不会运行。  

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

    尊敬的 Edward:

    您可以在"固件框架说明"下的帮助部分中阅读有关传感器控制器如何处理任务执行流程的更多信息。 您可以激活多个任务、但在给定时间只能激活一个任务。 但是、在给定的时间只能有一个正在进行的任务控制(您可以在"SCIF 驱动程序函数"子部分中阅读有关此内容的信息)。

    在我看来、您似乎希望 TDC 在另一个任务运行时在后台持续工作。 虽然我可以想象你可以把一些可能起作用的东西拼在一起、但这在很大程度上取决于你是怎么做的。 您可能最好只使用一个任务来执行此操作、将它们拆分为执行块和事件处理程序块。