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.

[参考译文] CC2652R7:事件 OsalPort_SYS_EVENT_MSG 的用法是什么

Guru**** 682330 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/1181408/cc2652r7-what-is-the-usage-of-event-osalport_sys_event_msg

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

您好!

我正在开发基于 zclSampleThermostat 的示例应用程序、我在其中创建了一个新事件、其中的掩码为0x8000、即使我没有设置 zclSampleThermostat_process_loop 下的代码跨越与位掩码0x8000匹配的事件、我也感到惊讶。

我以为  appServiceTaskEvents 变量中可能存在内存损坏、但事实并非如此、方法"OsalPort_msgReceive"设置此事件、因为它也对 OsalPort_SYS_EVENT_MSG 使用事件屏蔽0x8000。

我想了解它的用法、它与应用事件掩码重叠。  

我能给它一个新值0x8000000。

#define OsalPort_SYS_EVENT_MSG       0x8000000 //代替 0x8000

Jagdish K

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

    如果我记得正确的话、 0x8000是保留位。 请使用其他小于 0x8000的位掩码

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

    您好 Jagdish、

    示例项目会预先确定其头文件内的几个应用事件(例如 、zcl_sampleThermostor.c)、并且通常为 SYS_EVENT_MSG 保留0x8000。 不应修改 OsalPort_SYS_EVENT_MSG、因为它与预构建的 Z-Stack 代码不一致。   因此、只应使用0x10000及以上的可定制应用事件、或者那些不干扰 ZCL 头文件的事件。  您最多可以使用0x8000000来满足您的应用需求。  有关 更多信息、请查看《Z-Stack 用户指南》的"应用概述"部分。

    此致、
    Ryan

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

    一个事件可以是32位、我已经消耗了多达15位的所有事件、我需要更多位  

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

    您可以使用0x8000到0x8000000之后的位

    此致、
    Ryan