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.

[参考译文] LAUNCHXL-CC1352P:使用 OSALPort 的任务间通信

Guru**** 2999690 points

Other Parts Discussed in Thread: Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1057330/launchxl-cc1352p-inter-task-communication-using-osalport

器件型号:LAUNCHXL-CC1352P
Thread 中讨论的其他器件:Z-stack

您好!

我是 TI-RTOS 的初学者、我不知道如何使2个任务进行通信(任务 A 向任务 B 发送消息)。 让我们以"CC13x2和 CC26x2"上的光和开关示例应用为例(https://dev.ti.com/tirex/explore/node?node=ANbR0LtTwkMnDCiEhygF7A__pTTHBmu__LATEST)。 在本文档中、线程和 RTOS 之间的通信使用 OSALPort 进行描述。此通信通过 使用 TaskID、SemaphoreHandle 和 eventandler 在 OSALPort 中注册线程来完成。 好的。

现在 、让我们 假设我在第一个任务之外还有另一个任务。 假设其中一项任务是来自简单示例(即 Zigbee 开关 示例)的任务、另一项任务是管理一些计算、并希望通过 Zigbee 任务将此计算结果传输到其他任务。 我的第一个假设是、可以使用 OSALPort 向 Zigbee 任务发送消息(事件+信标)。 但是。 但我有一个问题:为此、我需要 Zigbee 任务的任务 ID。 它仅可作为任务中的私有变量使用、因此我看不到任何方法可以将其用于"计算"任务。

下面是我的问题:

1.在一项任务和另一项任务之间进行通信的方式上,我是否错了? 我在 TI-RTOS 中的任何位置都找不到独立任务之间的通信架构、因此如果有人有图表、请分享

2.如果我说得对、如何使 Zigbee 任务的任务 ID 可用于计算任务? 我没有找到这种情况的任何明显例子。 我认为最接近的示例是"zr_ota_server_CC26X2R1_LAUNCHXL_tirtos_ccs"、但我在其中没有找到我的问题的答案。 我将欣赏一个描述通信结构的架构图和一个用于确认或不确认通信模板的完整流程图。

3.如果我错了,我将感谢任何帮助、链接到文件或任何其他使我不仅能够做到而且能够理解它的东西,这对我来说是最重要的。

谢谢。

此致、

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

    您好 Christophe、

    zstackstartup。c 具有一个专用函数 stackTask_getStackServiceId、该函    数专门返回 zstackapi.c 的 stackServiceId、以在 Zstackapi_init 中存储为 stackServiceTaskId、以便 SampleApp 任务可以使用它向 Zigbee 堆栈发送消息。   NPI 任务具有 与 MTTask_getServiceTaskId 类似的设置、因此可以使用 MTServiceTaskID 将消息发送到 MT 层。  您可以同样地利用现有堆栈/任务 ID、使用 OsalPort_msgSend 在任务或处理元素之间进行有效通信。 注册接收消息可能会稍微困难一些、因为您需要订阅特定的回调/指示。  下面是指向 Z-Stack 用户指南中介绍 OsalPort 框架的部分的链接 、但需要一些时间才能完全学习和理解。  

    通过  使用信标和事件、可以轻松实现应用任务内更简单的线程同步。

    此致、
    Ryan  

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

    您好、Ryan、

    非常感谢您的清晰解释和建议。 我将查看信标和事件、因为我尚不清楚如何从 myTask 中找到 ZStack 的信标句柄。 非常感谢您花时间回答我的许多细节问题。

    Christophe