我想更改无线电占空比。收音机始终保持打开状态并影响能源消耗。我希望它的工作方式是关闭 10 秒并保持打开 10 秒,我应该如何以及在哪里执行此操作?
我想更改无线电占空比。收音机始终保持打开状态并影响能源消耗。我希望它的工作方式是关闭 10 秒并保持打开 10 秒,我应该如何以及在哪里执行此操作
既然您将 Contiki-NG 放入标签中,我假设您正在使用 Contiki-NG,而不是 Contiki-OS。
首先是 where:您想要在编译到硬件平台中的 C 代码中执行此功能。
然后如何操作:您可以使用 NETSTACK_RADIO 指令打开或关闭无线电。您可以将该指令与 netstack.h 一起包含在 Contiki OS 文件中。
#include "net/netstack.h"
使用NETSTACK_RADIO,您可以调用这两个函数来打开和关闭无线电。您可以在Radio Documentation
中了解有关Contiki无线电配置的更多信息NETSTACK_RADIO.on(); // Turn the radio on
NETSTACK_RADIO.off(); // Turn the radio off
您可以使用
etimer_set
功能配置 10 秒计时器。为此,我建议使用 RPL-udp 示例计时器实现作为起点