EFR32MG系列函数解析

本文详细介绍了EFR32MG系列在Zigbee应用中,如何获取和设置end-device的唤醒超时时间、短轮询间隔和长轮询间隔。 emberAfGetWakeTimeoutMsCallback()返回3秒的唤醒超时值,short和long poll间隔分别通过emberAfGetShortPollIntervalMsCallback()和emberAfGetLongPollIntervalMsCallback()获取,它们的默认值在xxx_tokens.h中配置。emberAfGetCurrentPollIntervalMsCallback()用于获取当前poll间隔,而emberAfGetCurrentPollControlCallback()则提供当前poll控制类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.《end-device-support.c》中:

(1)uint16_t tio=emberAfGetWakeTimeoutMsCallback();  //返回值0xBB8(3000),前述函数返回值定义于函数emberAfPluginEndDeviceSupportInitCallback,必须注意函数中的宏MILLISECOND_TICKS_PER_SECOND定义于...\v2.7\platform\base\hal\micro\cortexm3\efm32\micro.h。

如下两个函数获取两种poll的时间间隔,默认值可于xxx_tokens.h中配置(参数最后的数字代表有几个1/4秒),也可于函数emberAfSetShortPollIntervalMsCallback和emberAfSetLongPollIntervalMsCallback中临时更改;
(2)uint16_t spms=emberAfGetShortPollIntervalMsCallback();//返回值0xFA(250ms),定义于xxx_tokens.h中的DEFINE_BASIC_TOKEN(SHORT_POLL_INTERVAL_SINGLETON, tokType_short_poll_interval, 1) 。
(3)uint32_t lpms=emberAfGetLongPollIntervalMsCallback();//返回值0xFA0(4000ms),定义于xxx_tokens.h中的DEFINE_BASIC_TOKEN(LONG_POLL_INTERVAL_SINGLETON, tokType_long_poll_interval, 16)。


(4)uint32_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值