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.

[参考译文] CC2530:CC2530的奇怪之处

Guru**** 2551390 points
Other Parts Discussed in Thread: Z-STACK, CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/768645/cc2530-the-strange-things-of-cc2530

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

我有适用于 CC2530的 IAR 推荐版本项目。 添加到我的项目的界面。 Z-Stack 的版本为3.0.1

在我的演示中、我向 NV-MEMORY 写入数据。  当我写入 ID 上的存储器时- 0xf0b 和0xf05 都可以正常写入。 但是、如果我尝试 ID 0x24 (ZCD_NV_POLL_RATE) 、则不会写入正确的数据。 我尝试从 Z-Tool 和我的程序写入- resumalt 是相同的。

unsigned char buf[2]={any variables}、test;

test=osal_nv_item_init (0xf0b、2、buf);

if (test=nv_item_uninIT)//在本例中一切正常!
{
osal_nv_write (0xf0b、0、2、buf);
}


buf[0]= 0;
buf[1]=0;
test=osal_nv_item_init (0x24、2、buf);
if (test== nv_item_uninIT)//在这种情况下一切都不好!
{
osal_nv_write (0x24、0、2、buf);//尝试在两种情况下进行写入!!! 尝试清除 ZCD_NV_POLL_RATE
}
否则
{
osal_NV_WRITE (0x24、0、2、buf);//尝试在两种情况下写入!!
}

如果我尝试通过 Z-Tool 进行写入、我将获得成功 的返回代码  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法理解您的问题。 您能详细说明吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当我尝试将 nV-memory 设置为0x24 ID-它是 ZCD_NV_POLL_RATE 时、我在此 ID 中得到不正确的值。
    但我可以正常读取该 ID。
    例如-我有相同的项目。 向该项目添加对 MT-Interface 的支持。 我尝试通过 Z-Tool 读取 ID- 0x24。 我读取1000。 如何才能发现它是正确的价值。 在我尝试此 ID 值0之后。 我希望使设备始终处于睡眠状态。 并再次读取该 ID。 我得到的值不正确。 不为零、不为1000。 我获得了成功的返回代码(在 Z-Tool 中)以及用于读取和写入的返回代码。
    我尝试从我的程序中写入该值、但 resault 相同。 上面显示的程序代码。
    但是、如果我下载到芯片 ZNP 映像、我可以读取并写入正确的 ID。

    如果写入(读取)到其他 ID (例如0xf0b (0xf05)),我将得到右心。 以及从 Z-Tool 和编程

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您选中 ZComDef.h、您将看到以下定义。 我想您应该在代码中使用0x0035而不是0x0024。

    #define ZCD_NV_POLL_RATE _OLD16 当轮询速率从16位更改为32位时、0x0024 //已弃用
    #define ZCD_NV_POLL_RATE 0x0035
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢! 我今晚尝试一下 我认为这解决了我的问题...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在哪里可以找到所有 NV-paramets 的描述? 早期它在 ZNP-Specificaion 文档中(Mesh 1.0.0)、之后它被隐藏。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为大多数说明是相同的、因此您仍然可以参考 ZNP-Specificaion 文档(Mesh 1.0.0)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我尝试将 POLL_RATE 设置为0并等待我的 ZED 进入睡眠状态、而不发送 Data_Request... 但 ZED 发送 Data_Request。 我可以通过监听器看到它...

    如何制作全睡眠设备?

    我在 UART-ZNP 上尝试此操作

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

    如果我记得正确的话、这只会改变 NV 项目中的轮询率、并且只在 ZNP 重新启动时适用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我发现只有在*。cfg 文件中更改此选项时、此选项才有效。 (-DPOLL_RATE)
    如果我以 nV 为单位更改它、则重新启动不会产生任何效果
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为最简单的替代方法是实施一个自定义 MT 命令、该命令将 NLME_SetPollRate 打包、以允许您的应用程序动态更改轮询速率。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为是这样。。 但我希望!...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Pavel、

    请注意、Z-Stack 3.0.2中包含了一些轮询率改进、如发行说明和下面的 Wiki 页面中所述: processors.wiki.ti.com/.../Zigbee_Known_Issues_and_Proposed_Fixes

    您可以对 ZDUP.c 文件进行比较以查看大多数更改。

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