首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Contiki-NG中禁用滴流计时器?

如何在Contiki-NG中禁用滴流计时器?
EN

Stack Overflow用户
提问于 2021-12-20 14:24:12
回答 1查看 116关注 0票数 1

我有一个问题要问你。我想禁用rpl-mrhof.c文件中的滴流计时器。我定义了一个标志名为Trickle_flag。当Trickle_flag等于1时,并且DIO传输将被抑制时,我想在程序中禁用滴流计时器。当Trickle_flag等于0时,DIO传输将继续进行。我要停止所有节点的DIO传输。知道如何改变滴流函数吗?

EN

回答 1

Stack Overflow用户

发布于 2022-01-05 10:46:53

禁用滴流计时器的正确方法是调用trickle_timer_stop(tt)宏,其中tt是要停止的计时器。请参阅此宏的文献资料

但是,阻止DIO传输是一个不同的问题。Contiki实现是在滴流计时器库存在之前开发的,因此它不使用滴流计时器API,而是通过回调计时器(struct ctimer)在内部实现滴流计时器。也不要为此使用ctimer_stop(&instance->dio_timer),它不会提供可靠的结果,因为某些事件可能会调用rpl_reset_dio_timer函数,这将重新启动计时器。最好的方法是在DIO消息发送之前过滤掉它们,而不是以代码开发人员不期望的方式干扰滴流计时器。例如,您可以根据标志值向dio_output添加一个if语句,以便在设置DIO抑制标志时立即返回。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70423262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档