?? 從零開始學習zstack之9.mht
字號:
APP_INIT )<BR> =20
{<BR> =
// In=20
the init state, keys are used to indicate the =
logical=20
=
mode.<BR> //=20
Key 2 starts device as a=20
=
router<BR> =20
zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE,=20
sizeof(uint8), &logicalType=20
);<BR> =
if (=20
logicalType !=3D ZG_DEVICETYPE_ENDDEVICE=20
)<BR> =20
=
{<BR> =20
<FONT color=3D#0000ff>logicalType =3D=20
=
ZG_DEVICETYPE_ROUTER</FONT>;<BR>  =
; =20
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE,=20
sizeof(uint8),=20
=
&logicalType);<BR> =20
}<BR> =20
zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION,=20
sizeof(uint8), &startOptions=20
);<BR> =
startOptions =3D=20
=
ZCD_STARTOPT_AUTO_START;<BR> =20
zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION,=20
sizeof(uint8), &startOptions=20
);<BR> =
=
zb_SystemReset();<BR> =20
=
}<BR></FONT>=E5=A6=82=E6=9E=9C=E6=8C=89=E4=B8=8BS2=EF=BC=88RIGHT=EF=BC=89=
=EF=BC=8C=E8=AE=BE=E5=A4=87=E4=BD=9C=E4=B8=BA=E8=B7=AF=E7=94=B1=E5=99=A8=E5=
=90=AF=E5=8A=A8=E3=80=82<BR>=E8=BF=99=E9=87=8C=E7=94=B1=E4=BA=8E=E6=98=AF=
=E7=AC=AC=E4=B8=80=E4=B8=AA=E5=90=AF=E5=8A=A8=E7=9A=84=E8=AE=BE=E5=A4=87=EF=
=BC=8C=E6=89=80=E4=BB=A5=E4=BD=9C=E4=B8=BA=E5=8D=8F=E8=B0=83=E5=99=A8=E5=90=
=AF=E5=8A=A8=EF=BC=8C=E5=B0=B1=E6=8C=89=E4=B8=8BUP=EF=BC=8C=E6=AD=A4=E6=97=
=B6=E7=81=AF=E4=BC=9A=E6=9C=89=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96=EF=BC=8C=
=E6=9C=80=E7=BB=88=E7=BB=93=E6=9E=9C=E6=98=AF=EF=BC=9ALED2=E5=B8=B8=E4=BA=
=AE=EF=BC=8C=E6=A0=87=E7=A4=BA=E5=BB=BA=E7=AB=8B=E7=BD=91=E7=BB=9C=E6=88=90=
=E5=8A=9F=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E8=BF=98=E6=9C=89=E5=8F=A6=E5=
=A4=96=E7=9A=84=E7=81=AF=E8=AE=BE=E5=A4=87=E5=B0=B1=E5=8F=AF=E4=BB=A5=E6=8C=
=89=E4=B8=8BRIGHT=E8=AE=A9=E4=BB=96=E4=BB=AC=E9=83=BD=E4=BD=9C=E4=B8=BA=E8=
=B7=AF=E7=94=B1=E5=99=A8=E5=90=AF=E5=8A=A8=EF=BC=8C=E7=94=B1=E4=BA=8E=E6=9C=
=AC=E4=BA=BA=E8=BF=99=E9=87=8C=E5=8F=AA=E6=9C=89=E4=B8=A4=E4=B8=AA=E8=8A=82=
=E7=82=B9=EF=BC=8C=E6=89=80=E4=BB=A5=E5=B0=B1=E5=8F=AA=E8=83=BD=E6=9C=89=E4=
=B8=AA=E5=8D=8F=E8=B0=83=E5=99=A8=E3=80=82<BR>=E7=8E=B0=E5=9C=A8=E5=B0=B1=
=E6=9D=A5=E5=90=AF=E5=8A=A8=E5=BC=80=E5=85=B3=E8=AE=BE=E5=A4=87=E7=9A=84=E7=
=94=B5=E6=BA=90=EF=BC=8C=E5=90=8C=E6=A0=B7LED2=E4=BC=9A=E9=97=AA=E7=83=81=
=E8=AE=A9=E6=82=A8=E9=80=89=E6=8B=A9=E8=AE=BE=E5=A4=87=EF=BC=8C=E4=BD=86=E6=
=98=AF=E5=9C=A8ZIGBEE=E4=B8=AD=E9=99=A4=E4=BA=86=E5=8D=8F=E8=B0=83=E5=99=A8=
=E5=92=8C=E8=B7=AF=E7=94=B1=E5=99=A8=E5=B0=B1=E5=89=A9=E4=B8=8B=E7=BB=88=E7=
=AB=AF=E8=AE=BE=E5=A4=87=E4=BA=86=EF=BC=8C=E6=89=80=E4=BB=A5=E5=BC=80=E5=85=
=B3=E5=B0=B1=E5=8F=AA=E8=83=BD=E4=BD=9C=E4=B8=BA=E7=BB=88=E7=AB=AF=E8=A2=AB=
=E5=90=AF=E5=8A=A8=EF=BC=8C=E4=BD=86=E6=98=AF=E4=B9=9F=E9=9C=80=E8=A6=81=E9=
=80=9A=E8=BF=87=E6=8C=89=E9=94=AE=E6=9D=A5=E6=8E=A7=E5=88=B6=EF=BC=8C=E4=BB=
=8E=E7=A8=8B=E5=BA=8F=E4=B8=AD=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=87=BA=EF=BC=9A=
<BR><FONT=20
color=3D#808080>if ( keys & HAL_KEY_SW_1=20
)<BR> =20
{<BR> if ( =
myAppState =3D=3D=20
APP_INIT )<BR> =20
{<BR> =
// In=20
the init state, keys are used to indicate the =
logical=20
=
mode.<BR> //=20
The Switch device is always an=20
=
end-device<BR> <FONT=20
color=3D#0000ff> logicalType =3D=20
=
ZG_DEVICETYPE_ENDDEVICE</FONT>;<BR> &n=
bsp;=20
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE,=20
sizeof(uint8),=20
=
&logicalType);<BR> =20
// Do more configuration if necessary and then =
restart=20
device with auto-start bit=20
=
set<BR> =20
zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION,=20
sizeof(uint8), &startOptions=20
);<BR> =
startOptions =3D=20
=
ZCD_STARTOPT_AUTO_START;<BR> =20
zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION,=20
sizeof(uint8), &startOptions=20
);<BR> =
=
zb_SystemReset();<BR> =20
}<BR> =20
else<BR> =20
{<BR> =
//=20
Initiate a binding with null=20
=
destination<BR> =20
zb_BindDevice(TRUE, TOGGLE_LIGHT_CMD_ID,=20
NULL);<BR> =20
}<BR> }<BR> =
if (=20
keys & HAL_KEY_SW_2 )<BR> =20
{<BR> if ( =
myAppState =3D=3D=20
APP_INIT )<BR> =20
{<BR> =
// In=20
the init state, keys are used to indicate the =
logical=20
=
mode.<BR> //=20
The Switch device is always an=20
=
end-device<BR> =20
<FONT color=3D#0000ff>logicalType =3D=20
=
ZG_DEVICETYPE_ENDDEVICE</FONT>;<BR> &n=
bsp;=20
zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE,=20
sizeof(uint8),=20
=
&logicalType);<BR> =20
zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION,=20
sizeof(uint8), &startOptions=20
);<BR> =
startOptions =3D=20
=
ZCD_STARTOPT_AUTO_START;<BR> =20
zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION,=20
sizeof(uint8), &startOptions=20
);<BR> =
=
zb_SystemReset();<BR> =20
}<BR> =20
else<BR> =20
{<BR> =
// Send=20
the command to toggle=20
=
light<BR> =20
zb_SendDataRequest( 0xFFFE, TOGGLE_LIGHT_CMD_ID, =
=
0,<BR> &=
nbsp; =20
(uint8 *)NULL, myAppSeqNumber, 0, 0=20
);<BR> =20
}<BR> =20
=
}<BR></FONT>=E6=97=A0=E8=AE=BA=E6=98=AF=E6=8C=89=E4=B8=8BS1=E8=BF=98=E6=98=
=AFS2=EF=BC=88UP=E6=88=96=E8=80=85RIGHT=EF=BC=89=EF=BC=8C=E5=BC=80=E5=85=B3=
=E8=AE=BE=E5=A4=87=E5=9D=87=E4=BD=9C=E4=B8=BA=E7=BB=88=E7=AB=AF=E8=AE=BE=E5=
=A4=87=E5=90=AF=E5=8A=A8=E3=80=82<BR>=E5=90=AF=E5=8A=A8=E4=B9=8B=E5=90=8E=
=E5=91=A2=EF=BC=8C=E7=81=AF=E7=9A=84=E7=8A=B6=E6=80=81=E5=90=8C=E6=A0=B7=E4=
=BC=9A=E5=8F=91=E7=94=9F=E4=B8=80=E4=BA=9B=E5=8F=98=E5=8C=96=EF=BC=8C=E6=9C=
=80=E7=BB=88=E7=BB=93=E6=9E=9C=E6=98=AF=EF=BC=9ALED2=E5=BF=AB=E9=80=9F=E9=
=97=AA=E7=83=81=EF=BC=8C=E8=A1=A8=E6=98=8E=E6=AD=A4=E6=97=B6=E5=BC=80=E5=85=
=B3=E5=B7=B2=E7=BB=8F=E6=88=90=E5=8A=9F=E5=8A=A0=E5=85=A5=E5=88=9A=E6=89=8D=
=E7=81=AF=E8=AE=BE=E5=A4=87=E5=BB=BA=E7=AB=8B=E7=9A=84=E9=82=A3=E4=B8=AA=E7=
=BD=91=E7=BB=9C=E4=BA=86=E3=80=82<BR>=E9=82=A3=E4=B9=88=E6=8E=A5=E4=B8=8B=
=E6=9D=A5=E5=B0=B1=E8=A6=81=E7=9C=8B=E8=BF=99=E4=B8=AA=E4=BE=8B=E5=AD=90=E7=
=9A=84=E6=A0=B8=E5=BF=83=E9=83=A8=E5=88=86----------=E7=BB=91=E5=AE=9A=EF=
=BC=81<BR>=E9=A6=96=E5=85=88=E6=8C=89=E4=B8=8B=E7=81=AF=E8=AE=BE=E5=A4=87=
=EF=BC=88=E8=BF=99=E9=87=8C=E4=B8=BA=E5=8D=8F=E8=B0=83=E5=99=A8=EF=BC=8C=E5=
=A6=82=E6=9E=9C=E6=9C=89=E8=B7=AF=E7=94=B1=E5=99=A8=E4=B9=9F=E5=8F=AF=E4=BB=
=A5=EF=BC=89=E7=9A=84UP=EF=BC=8C=E9=82=A3=E4=B9=88=E7=A8=8B=E5=BA=8F=E4=B8=
=AD=E8=B0=83=E7=94=A8=E4=BA=86=EF=BC=9A<BR> =
=20
zb_AllowBind( myAllowBindTimeout=20
=
);<BR>=E5=87=BD=E6=95=B0=EF=BC=8C=E5=85=81=E8=AE=B8=E7=BB=91=E5=AE=9A=EF=BC=
=8C=E8=BF=99=E4=B8=AA=E5=85=81=E8=AE=B8=E7=9A=84=E6=97=B6=E9=97=B4=E6=8D=AE=
=E8=AF=B4=E5=8F=AA=E6=9C=8910S=EF=BC=8C=E5=BD=93=E7=84=B6=E8=BF=99=E4=B8=AA=
=E6=97=B6=E9=97=B4=E6=98=AF=E5=8F=AF=E4=BB=A5=E8=B0=83=E6=95=B4=E7=9A=84=EF=
=BC=8C=E5=9B=A0=E4=B8=BA=E8=BF=99=E9=87=8C=E7=9A=84=E5=8F=82=E6=95=B0=E4=B8=
=BA=EF=BC=9Astatic=20
uint8 myAllowBindTimeout =3D=20
=
10;=E8=87=B3=E4=BA=8E=E8=BF=99=E4=B8=AA=E6=97=B6=E9=97=B4=E6=80=8E=E4=B9=88=
=E8=AE=A1=E7=AE=97=E7=9A=84=E5=B0=B1=E9=9C=80=E8=A6=81=E5=88=B0=E6=9F=90=E4=
=B8=AA=E5=87=BD=E6=95=B0zb_AllowBind=E9=87=8C=E5=8E=BB=E5=88=86=E6=9E=90=E4=
=BA=86=E3=80=82zb_AllowBind=E8=A7=84=E5=AE=9A=E8=BF=99=E4=B8=AA=E5=8F=82=E6=
=95=B0=E4=B8=BA1~64=EF=BC=8C=E5=A6=82=E6=9E=9C=E4=B8=BA0=EF=BC=8C=E8=A1=A8=
=E7=A4=BA=E4=B8=BA=E5=81=87=EF=BC=8C=E5=B0=B1=E6=98=AF=E4=B8=8D=E5=85=81=E8=
=AE=B8=E7=BB=91=E5=AE=9A=E7=9A=84=E6=84=8F=E6=80=9D=E3=80=82=E5=A6=82=E6=9E=
=9C=E5=A4=A7=E4=BA=8E64=E7=9A=84=E8=AF=9D=EF=BC=8C=E5=B0=B1=E4=B8=80=E7=9B=
=B4=E4=B8=BA=E7=9C=9F=EF=BC=8C=E5=B0=B1=E6=98=AF=E4=B8=80=E7=9B=B4=E9=83=BD=
=E5=85=81=E8=AE=B8=E7=BB=91=E5=AE=9A=E3=80=82=E5=A5=BD=E5=83=8F=E4=BC=BC=E4=
=B9=8E=E6=98=AF=E8=BF=99=E4=B8=AA=E6=84=8F=E6=80=9D=E3=80=82=E8=87=B3=E4=BA=
=8E=E8=BF=99=E4=B8=AA10S=E6=98=AF=E6=80=8E=E4=B9=88=E5=88=B6=E5=AE=9A=E7=9A=
=84=E5=91=A2=EF=BC=8C=E5=9C=A8=E8=BF=99=E4=B8=AA=E5=87=BD=E6=95=B0=E5=86=85=
=E9=83=A8=E8=B0=83=E7=94=A8=E4=BA=86=EF=BC=9A<BR>osal_start_timerEx(sapi_=
TaskID,=20
ZB_ALLOW_BIND_TIMER,=20
=
timeout*1000);<BR>=E5=9B=A0=E4=B8=BAosal_start_timerEx=E5=AE=9A=E6=97=B6=E5=
=87=BD=E6=95=B0=E6=9C=80=E5=B0=8F=E5=8D=95=E4=BD=8D=E4=B8=BAmS=EF=BC=8C=E6=
=89=80=E4=BB=A5*1000=E5=B0=B1=E8=A1=A8=E7=A4=BAS=E4=BA=86=E3=80=82<BR>=E8=
=80=8C=E5=9C=A8SAPI_ProcessEvent=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86=E5=87=
=BD=E6=95=B0=E4=B8=ADZB_ALLOW_BIND_TIMER=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=
=86=E5=A6=82=E4=B8=8B=EF=BC=9A<BR><FONT=20
color=3D#808080> if ( events &=20
ZB_ALLOW_BIND_TIMER )<BR> =
{<BR> =20
afSetMatch(sapi_epDesc.simpleDesc->EndPoint,=20
FALSE);<BR> return (events ^=20
ZB_ALLOW_BIND_TIMER);<BR> =20
=
}</FONT><BR>=E4=B9=9F=E5=B0=B1=E6=98=AF=E5=AE=9A=E6=97=B6=E5=8F=96=E6=B6=88=
=E7=BB=91=E5=AE=9A=E7=8A=B6=E6=80=81=EF=BC=81=EF=BC=81=EF=BC=81<BR>=E5=A6=
=82=E6=9E=9C=E6=9C=89=E4=BA=BA=E7=9C=8B=E7=9D=80=E8=BF=99=E4=BA=9B=E7=9C=8B=
=E4=B8=8D=E6=98=8E=E7=99=BD=EF=BC=8C=E9=82=A3=E5=B0=B1=E6=8A=8A=E8=BF=99=E4=
=B8=AA=E4=BE=8B=E5=AD=90=E5=A4=9A=E7=9C=8B=E5=87=A0=E9=81=8D=EF=BC=8C=E5=A4=
=9A=E8=B7=91=E5=87=A0=E9=81=8D=E3=80=82=E4=B8=80=E8=88=AC=E5=A6=82=E6=9E=9C=
=E6=82=A8=E6=AF=8F=E5=A4=A9=E8=8A=B1=E8=B4=B94=E4=B8=AA=E5=B0=8F=E6=97=B6=
=E7=9C=8B=E8=BF=99=E4=B8=AA=E4=BE=8B=E5=AD=90=EF=BC=8C=E9=82=A3=E4=B9=88=E5=
=8F=AA=E9=9C=80=E8=A6=81=E4=B8=80=E5=91=A8=E4=BA=8B=E4=BB=B6=EF=BC=8C=E6=88=
=91=E6=83=B3=E5=88=B0=E6=97=B6=E6=AF=94=E6=88=91=E8=BF=98=E7=B2=BE=E9=80=9A=
=E6=98=8E=E7=99=BD=E7=9A=84=EF=BC=81<BR>=E6=89=80=E4=BB=A5=E5=9C=A810S=E4=
=B9=8B=E5=86=85=EF=BC=8C=E5=BC=80=E5=85=B3=E5=BF=85=E9=A1=BB=E5=8F=91=E8=B5=
=B7=E7=BB=91=E5=AE=9A=EF=BC=8C=E6=AD=A4=E6=97=B6=E5=90=8C=E6=A0=B7=E6=8C=89=
=E4=B8=8B=E5=BC=80=E5=85=B3=E8=AE=BE=E5=A4=87=E7=9A=84UP=EF=BC=8C=E9=82=A3=
=E4=B9=88=E5=BC=80=E5=85=B3=E8=AE=BE=E5=A4=87=E5=B0=B1=E8=B0=83=E7=94=A8=E4=
=BA=86=E5=87=BD=E6=95=B0=EF=BC=9Azb_BindDevice(TRUE,=20
TOGGLE_LIGHT_CMD_ID,=20
=
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -