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:关闭和打开无线电

Guru**** 2460850 points
Other Parts Discussed in Thread: Z-STACK, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/1232800/cc2652r7-switching-off-and-on-the-radio

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

我使用的是 Doorlock 示例。 在本示例中、器件是休眠式终端设备、它每2秒传输一次锁定状态。  

对于我的应用、我需要处理一些数据、这些数据可能持续2秒、也可能不持续2秒。 因此、我需要能够控制无线电的睡眠。  

  1. 唤醒
  2. 连接到网络
  3. 发送数据
  4. 执行所需处理
  5. 进入休眠状态5秒钟。

我认为最好的方法是将器件配置为始终开启、并明确将所有器件置于睡眠状态。 我尝试使用 sleep()函数,假设它把所有东西都放在睡眠,但看起来无线电一直保持打开。

如何将控制器置于 待机模式并在5秒后将其唤醒?

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

    您好、Vivek、

    我建议您使用休眠 ZED 配置并将计时器设置为在确定的5秒时过期。  然后、您可以从计时器回调中设置一个事件标志、该事件标志将在主应用程序任务循环期间进行处理。  请参阅 zclSampleDoorLock_initializeClocks、它使用 UtilTimer_structure 设置一个 zclSampleDoorLock_processEndDeviceRejoinTimeoutCallback、 以设置 要在 zclSampleDoorLock_Process_loop 期间提供服务的 SampleApp_End_DEVICE_REGNUGE_EVT 。  或者、如果我不完全了解您 希望达到的目标、请进一步说明您的应用要求。

    此致、
    Ryan

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

    您好、Ryan

    我们的应用在门锁上使用了 TI-Open Thread 堆栈和 CoAP 客户端。 设备应每隔几秒钟唤醒一次、连接到网络、将其数据发送到网络控制器、处理控制器的响应、然后返回到休眠状态。

    根据响应的不同、控制器对响应的处理可能需要不同的时间量。 处理完成后、我需要将系统置于睡眠状态以降低功耗。

    我也在看应用程序的电源策略。  策略定义要进入待机模式的 MCU。 如果我们调用 SLEEP、是否会触发待机模式?

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

    感谢您澄清了您使用的是 Thread 而不是 Z-Stack。  同样的概念也适用于以下情况:进入空闲函数后(即没有任务正在运行时)、休眠 MTD 终端设备门锁将进入低功耗待机模式。  您可以从  TI OpenThread 用户指南的应用开发和电源部分中阅读有关此内容的更多信息。  在 SysConfig 内部进行正确的配置选择后、不需要手动调用 SLEEP。

    此致、
    Ryan