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

将ZLL Light 上电,按住ZLL Light上按键,保持>10s松开,ZLL Light会触发Classic Commission Join的方式开始加网过程。这里ZLL Light上按键问题。

请问 将ZLL Light 上电,按住ZLL Light上按键,保持>10s松开,ZLL Light会触发Classic Commission Join的方式开始加网过程。这里ZLL Light上按键是在哪个程序文件里?

Alvin Chen:

你说的是按键驱动?

就在工程里面hal_key.c

static void zllSampleLight_HandleKeys( byte shift, byte keys )
{(void)shift;// Intentionally unreferenced parameter
#ifdef HAL_BOARD_ZLIGHT// Zlight has only a single buttonstatic 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;}}
#else //HAL_BOARD_CC2530EB ?if ( keys & CLASSIC_COMMISS_KEY ){zllTarget_ClassicalCommissioningStart();}if ( keys & FACTORY_RESET_KEY ){zllTarget_ResetToFactoryNew();}if ( keys & PERMIT_JOIN_KEY ){zllTarget_PermitJoin( PERMIT_JOIN_DURATION );HalLcdWriteString( "PermitJoin", HAL_LCD_LINE_3 );}if ( keys & DISPLAY_NWK_KEY_KEY ){
#if ( HAL_LCD == TRUE )zllSampleLight_PrintNwkKey( FALSE );
#endif //( HAL_LCD == TRUE )}#endif //HAL_BOARD_ZLIGHT
}

user4494228:

回复 Alvin Chen:

在samplelight _ZLight_Router工程里没有找到hal_key.c文件。只看到hal_key.h

YiKai Chen:

回复 user4494228:

user4494228:

回复 YiKai Chen:

user4494228:

回复 user4494228:

陈工我的这部分内容在zll_samplelight.c,在zll_samplelight.c没有这部分内容,我灯板上没有按键,我看你们介绍是按住ZLL Light上按键,保持>10s松开,ZLL Light会触发Classic Commission Join的方式开始加网过程。我想改成一上电就触发Classic Commission Join的方式开始加网过程,应该屏蔽哪个代码。

user4494228:

回复 user4494228:

在hal_key.c里没有你发的这部分内容,不知是不是版本不一样。

YiKai Chen:

回复 user4494228:

直接在 "if ( keys ) {…}"裡面作就好

YiKai Chen:

回复 user4494228:

在zclSampleLight_HandleKeys里面,你的截圖裡面就有

Alvin Chen:

回复 user4494228:

如果你想上电触发,需要把这个zllTarget_ClassicalCommissioningStart();放在你启动程序中。
建议参考:
e2echina.ti.com/…/87636

user4494228:

回复 Alvin Chen:

陈工 参考上电触发加了这段后要定义 SAMPLELIGHT_START_EVT,这个如何定义

赞(0)
未经允许不得转载:TI中文支持网 » 将ZLL Light 上电,按住ZLL Light上按键,保持>10s松开,ZLL Light会触发Classic Commission Join的方式开始加网过程。这里ZLL Light上按键问题。
分享到: 更多 (0)