TI中文支持网
TI专业的中文技术问题搜集分享网站

ZHA 按键如何实现识别长按短按

如题如何实现长短按

VV:

请在官网下载Z-Stack Light 协议栈,在里面Zlight的设备里面,实现了这个功能,你可以看下

static void zllSampleLight_HandleKeys( byte shift, byte keys ){ (void)shift; // Intentionally unreferenced parameter#ifdef HAL_BOARD_ZLIGHT // Zlight has only a single button static uint32 keyPressTime = 0; if ( keys ) { keyPressTime = osal_getClock(); } else //key released { if ( keyPressTime ) { keyPressTime = ( osal_getClock() – keyPressTime ); if ( keyPressTime <= KEY_HOLD_SHORT_INTERVAL ) { zllTarget_PermitJoin( PERMIT_JOIN_DURATION ); } else if ( keyPressTime > KEY_HOLD_LONG_INTERVAL ) { zllTarget_ClassicalCommissioningStart(); } else { zllTarget_ResetToFactoryNew(); } keyPressTime = 0; } }

一米阳光:

你好,我想现在也遇到了同样的问题,把zll的例子研究了一天,想改成自己的按键引脚,怎么都实现不了,长按和短按的功能,请问你是怎么实现的,能不能分享下,太谢谢你了!

VV:

回复 一米阳光:

这部分的代码都是公开的,你要先确定下你使用的I/O口,协议栈里面有没有其他的地方使用到。

Jian Yi Cao:

回复 VV:

 不好意思  大牛  ~~本人小白   有点问题请求 ~~望赐教

为什么我按照你的代码写    zigbee开发板上的按钮并没有根据长按而发送指定的消息~~~

赞(0)
未经允许不得转载:TI中文支持网 » ZHA 按键如何实现识别长按短按
分享到: 更多 (0)