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.

[参考译文] CC2538:CC2538从 Z-Stack 3.0延迟

Guru**** 2943430 points

Other Parts Discussed in Thread: CC2538, Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/785409/cc2538-delay-for-cc2538-from-z-stack-3-0

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

您好!

我在 CC2538上使用 Z-Stack 3.0、在这里、我需要创建大约1或2秒的延迟、以下问题可由任何人帮助我:

1) 1) Z-Stack 3.0中提供了哪些所有延迟功能?

2) 2)除 OSAL 事件计时器外、我还可以使用任何非阻塞延迟吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我知道、您只能使用 OSAL 事件计时器。 没有其他选择。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢您,您将深入了解。

    还有任何其他延迟是不可时钟阻断、并且已经出现在系统级。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我知道、没有这样的功能存在。 但是、您可以尝试参考 www.eistec.se/.../a02247.html 并相应地实施它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Yikai:

    我尝试使用 SysCtrlDelay 创建延迟、但我对其计算感到困惑、您能不能帮助我澄清这一点。

    我需要生成1秒的延迟、并且我正在使用32MHz 晶体、因此我的计算如下:

    1/32MHz = 3.125 x 10-8

    SysCtrlDelay 函数会为每个计数生成3个 NOP:

    3.125 x 10-8 x 3 = 9.375 x 10-8

    那么、对于1秒、

    1/9.375 x 10-8 = 10666666。

    因此、对于1066666次周期、我应该得到1秒的延迟。

    是上面的计算、对吧? 如果是、则延迟不会为我提供1秒的延迟、则较高的延迟可能大约为2到3秒。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定如何使用 SysCtrlDelay。 另一种替代方法是使用 osal_GetSystemClock 来计算经历的时间、这是一个 while 循环来实现延迟函数。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Yikai:

    谢谢你。

    我将对此进行研究。