⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 从零开始学习zstack之8.mht

📁 zigbee的入门资料
💻 MHT
📖 第 1 页 / 共 5 页
字号:
=88=E4=BA=86=E4=B8=8B=EF=BC=8C=E8=BF=99=E4=B8=AA=E4=BE=8B=E5=AD=90=E4=BC=BC=
=E4=B9=8E=E8=BF=98=E4=B8=8E=E8=AE=BE=E5=A4=87=E7=9A=84=E7=BB=91=E5=AE=9A=E6=
=9C=89=E5=85=B3=E7=B3=BB=EF=BC=8C=E5=9B=A0=E4=B8=BA=E5=9C=A8=E6=8C=89=E5=BB=
=BA=E5=A4=84=E7=90=86=E7=A8=8B=E5=BA=8F=E4=B8=AD=E5=8F=91=E7=8E=B0=EF=BC=9A=
<BR><FONT=20
                        color=3D#808080>if ( keys &amp; HAL_KEY_SW_2=20
                        )<BR>&nbsp;&nbsp;&nbsp;=20
                        {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HalLedSet (=20
                        HAL_LED_4, HAL_LED_MODE_OFF );</FONT></P>
                        <P><FONT =
color=3D#808080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //=20
                        Initiate an End Device Bind Request for the =
mandatory=20
                        endpoint<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        dstAddr.addrMode =3D=20
                        Addr16Bit;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        dstAddr.addr.shortAddr =3D 0x0000; //=20
                        Coordinator<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        ZDP_EndDeviceBindReq( &amp;dstAddr,=20
                        =
NLME_GetShortAddr(),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        =
GenericApp_epDesc.endPoint,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        =
GENERICAPP_PROFID,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        GENERICAPP_MAX_CLUSTERS, (cId_t=20
                        =
*)GenericApp_ClusterList,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        GENERICAPP_MAX_CLUSTERS, (cId_t=20
                        =
*)GenericApp_ClusterList,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        FALSE =
);<BR>}<BR>=E5=BE=88=E6=98=8E=E6=98=BE=E8=BF=99=E9=87=8C=E6=8C=89=E9=94=AE=
2=EF=BC=88=E5=8F=B3=E9=94=AE=EF=BC=89=E6=98=AF=E5=8F=91=E9=80=81=E7=BB=91=
=E5=AE=9A=E8=AF=B7=E6=B1=82=E7=9A=84=E5=91=BD=E4=BB=A4=E3=80=82<BR>if ( =
keys=20
                        &amp; HAL_KEY_SW_4 )<BR>&nbsp;&nbsp;&nbsp;=20
                        {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HalLedSet (=20
                        HAL_LED_4, HAL_LED_MODE_OFF );</FONT></P>
                        <P><FONT =
color=3D#808080>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //=20
                        Initiate a Match Description Request (Service=20
                        Discovery)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        dstAddr.addrMode =3D=20
                        AddrBroadcast;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =

                        dstAddr.addr.shortAddr =3D=20
                        =
NWK_BROADCAST_SHORTADDR;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        ZDP_MatchDescReq( &amp;dstAddr,=20
                        =
NWK_BROADCAST_SHORTADDR,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;=20
                        =
GENERICAPP_PROFID,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;=20
                        GENERICAPP_MAX_CLUSTERS, (cId_t=20
                        =
*)GenericApp_ClusterList,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;=20
                        GENERICAPP_MAX_CLUSTERS, (cId_t=20
                        =
*)GenericApp_ClusterList,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;=20
                        FALSE );<BR>&nbsp;&nbsp;&nbsp; }<BR><FONT=20
                        =
color=3D#000000>=E6=98=BE=E7=84=B6=E6=8C=89=E9=94=AE4=EF=BC=88=E5=B7=A6=EF=
=BC=89=E6=98=AF=E5=88=9D=E5=A7=8B=E5=8C=96=E4=B8=80=E4=B8=AA=E5=8C=B9=E9=85=
=8D=E6=8F=8F=E8=BF=B0=E7=AC=A6=E8=AF=B7=E6=B1=82=EF=BC=8C=E4=B9=9F=E5=B0=B1=
=E6=98=AF=E5=8F=91=E7=8E=B0=E6=9C=8D=E5=8A=A1=EF=BC=8C=E6=88=96=E8=80=85=E5=
=8F=AB=E8=87=AA=E5=8A=A8=E5=AF=BB=E6=B1=82=E5=8C=B9=E9=85=8D=E8=AE=BE=E5=A4=
=87=E3=80=82<BR>=E8=BF=99=E5=B0=B1=E4=B8=8D=E6=80=AA=E6=88=91=E6=8C=89=E9=
=94=AE=E6=9C=89=E5=8F=8D=E6=98=A0=E4=BA=86=EF=BC=81<BR>=E8=80=8C=E4=B8=94=
=E5=9C=A8=E5=8F=91=E9=80=81=E6=95=B0=E6=8D=AE=E5=92=8C=E6=8E=A5=E6=94=B6=E6=
=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=E5=87=BD=E6=95=B0=E5=8F=91=E7=8E=B0=EF=BC=
=9A</FONT><BR>void=20
                        GenericApp_SendTheMessage( void )<BR>{<BR>&nbsp; =
char=20
                        theMessageData[] =3D "Hello World";</FONT></P>
                        <P><FONT color=3D#a9a9a9><FONT =
color=3D#808080>&nbsp; if (=20
                        AF_DataRequest( &amp;GenericApp_DstAddr,=20
                        =
&amp;GenericApp_epDesc,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;=20
                        =
GENERICAPP_CLUSTERID,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
                        (byte)osal_strlen( theMessageData ) +=20
                        =
1,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        (byte=20
                        =
*)&amp;theMessageData,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;=20
                        =
&amp;GenericApp_TransID,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;=20
                        AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) =3D=3D =
afStatus_SUCCESS=20
                        )<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp; // =
Successfully=20
                        requested to be sent.<BR>&nbsp; }<BR>&nbsp;=20
                        else<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp; // Error =
occurred=20
                        in request to send.<BR>&nbsp;=20
                        =
}<BR>}</FONT><BR></FONT>=E5=B1=85=E7=84=B6=E5=8F=91=E9=80=81=E7=9A=84=E6=98=
=AF=E4=B8=80=E4=B8=AA=E5=AD=97=E7=AC=A6=E4=B8=B2=E2=80=9CHello=20
                        World=E2=80=9D=E3=80=82<BR><FONT =
color=3D#808080>void=20
                        GenericApp_MessageMSGCB( afIncomingMSGPacket_t =
*pkt=20
                        )<BR>{<BR>&nbsp; switch ( pkt-&gt;clusterId =
)<BR>&nbsp;=20
                        {<BR>&nbsp;&nbsp;&nbsp; case=20
                        =
GENERICAPP_CLUSTERID:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        // "the" message<BR>#if defined( LCD_SUPPORTED=20
                        )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
HalLcdWriteScreen(=20
                        (char*)pkt-&gt;cmd.Data, "rcvd" );<BR>#elif =
defined(=20
                        WIN32 )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
WPRINTSTR(=20
                        pkt-&gt;cmd.Data=20
                        );<BR>#endif<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        break;<BR>&nbsp;=20
                        =
}<BR>}<BR></FONT>=E6=8E=A5=E6=94=B6=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=E5=
=87=BD=E6=95=B0=E9=87=8C=E5=B1=85=E7=84=B6=E8=A6=81=E9=80=9A=E8=BF=87=E6=B6=
=B2=E6=99=B6=E6=98=BE=E7=A4=BA=EF=BC=8C=E6=9C=AC=E4=BA=BA=E8=BF=99=E9=87=8C=
=E7=9A=84=E6=B6=B2=E6=99=B6=E6=9A=82=E6=97=B6=E6=B2=A1=E6=9C=89=E7=A7=BB=E6=
=A4=8D=E8=BF=87=E6=9D=A5=EF=BC=8C=E5=9B=A0=E4=B8=BA=E6=9A=82=E6=97=B6=E8=BF=
=98=E4=B8=8D=E5=85=B7=E5=A4=87=E9=82=A3=E4=B8=AA=E5=AE=9E=E5=8A=9B=EF=BC=8C=
=E6=80=AA=E4=B8=8D=E5=BE=97=E7=9C=8B=E4=B8=8D=E5=88=B0=E5=8F=91=E9=80=81=E6=
=95=B0=E6=8D=AE=E7=9A=84=E7=8A=B6=E5=86=B5=EF=BC=81<BR>=E8=BF=99=E9=87=8C=
=E6=9C=AC=E4=BA=BA=E5=B0=B1=E8=87=AA=E4=BD=9C=E8=81=AA=E6=98=8E=E7=9A=84=E6=
=8A=8A=E4=BB=A5=E5=89=8DSampleApp=E4=BE=8B=E5=AD=90=E9=87=8C=E9=9D=A2=E7=9A=
=84=E4=B8=80=E5=8F=A5=E8=AF=9D=E5=8A=A0=E8=BF=87=E6=9D=A5=E4=BA=86=EF=BC=9A=
<BR><FONT=20
                        color=3D#808080>void GenericApp_MessageMSGCB(=20
                        afIncomingMSGPacket_t *pkt )<BR>{<BR>&nbsp; =
switch (=20
                        pkt-&gt;clusterId )<BR>&nbsp; =
{<BR>&nbsp;&nbsp;&nbsp;=20
                        case=20
                        =
GENERICAPP_CLUSTERID:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        // "the" =
message<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT=20
                        color=3D#0000ff>HalLedBlink( HAL_LED_4, 4, 50, =
(500)=20
                        );</FONT><BR>#if defined( LCD_SUPPORTED=20
                        )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
HalLcdWriteScreen(=20
                        (char*)pkt-&gt;cmd.Data, "rcvd" );<BR>#elif =
defined(=20
                        WIN32 )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
WPRINTSTR(=20
                        pkt-&gt;cmd.Data=20
                        );<BR>#endif<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
                        break;<BR>&nbsp;=20
                        =
}<BR>}<BR></FONT>=E9=BA=BD=E6=83=B3=E5=88=B0=E5=95=8A=EF=BC=8C=E8=BF=99=E4=
=B9=88=E4=B8=80=E5=8A=A0=E5=B1=85=E7=84=B6=E5=B0=B1=E6=9C=89=E5=8F=8D=E5=BA=
=94=E4=BA=86=EF=BC=8Co(=E2=88=A9_=E2=88=A9)o=E2=80=A6=EF=BC=81=E6=88=91=E4=
=B8=8D=E6=84=A7=E6=98=AF=E5=A4=A9=E6=89=8D=E7=9A=84=E6=8E=A5=E7=8F=AD=E4=BA=
=BA=E5=95=8A=EF=BC=81<BR>=E5=85=B6=E5=AE=9E=E8=BF=99=E9=87=8C=E5=BE=88=E7=
=AE=80=E5=8D=95=E7=9A=84=E4=BA=86=EF=BC=8C=E5=B0=B1=E6=98=AF=E6=8E=A5=E6=94=
=B6=E5=88=B0=E6=95=B0=E6=8D=AE=E5=90=8E=E9=97=AA=E7=83=814=E4=B8=8B=E7=81=
=AF=EF=BC=8C=E9=97=B4=E9=9A=940.5S=E3=80=82=E5=9B=A0=E4=B8=BA=E4=BB=8E=EF=
=BC=9A<BR><FONT=20
                        color=3D#808080>if ( events &amp; =
GENERICAPP_SEND_MSG_EVT=20
                        )<BR>&nbsp; {<BR>&nbsp;&nbsp;&nbsp; // Send =
"the"=20
                        message<BR>&nbsp;&nbsp;&nbsp;=20
                        =
GenericApp_SendTheMessage();<BR>&nbsp;&nbsp;&nbsp; //=20
                        Setup to send message =
again<BR>&nbsp;&nbsp;&nbsp;=20
                        osal_start_timerEx(=20
                        =
GenericApp_TaskID,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;=20
                        =
GENERICAPP_SEND_MSG_EVT,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;=20
                        GENERICAPP_SEND_MSG_TIMEOUT =
);<BR>&nbsp;&nbsp;&nbsp; //=20
                        return unprocessed events<BR>&nbsp;&nbsp;&nbsp; =
return=20
                        (events ^ GENERICAPP_SEND_MSG_EVT);<BR>&nbsp;=20
                        =
}<BR></FONT>=E8=BF=99=E9=87=8C=E5=8F=AF=E4=BB=A5=E7=9C=8B=E5=87=BA=EF=BC=8C=
=E8=BF=99=E4=B8=AA=E4=BE=8B=E5=AD=90=E5=BE=88=E6=98=8E=E6=98=BE=E4=BB=85=E4=
=BB=85=E6=98=AF=E4=B8=AA=E5=8F=91=E9=80=81=E5=91=A8=E6=9C=9F=E4=BF=A1=E6=81=
=AF=E7=9A=84=E4=BE=8B=E5=AD=90=E3=80=82=E6=89=80=E4=BB=A5LED4=E5=B0=B1=E5=
=91=A8=E6=9C=9F=E6=80=A7=E7=9A=84=E9=97=AA=E7=83=814=E4=B8=8B=EF=BC=8C=E5=
=BD=93=E7=84=B6=E6=98=AF=E5=8D=8F=E8=B0=83=E5=99=A8=E5=8F=91=E9=80=81=EF=BC=
=8C=E8=B7=AF=E7=94=B1=E5=99=A8=E9=97=AA=E7=83=81=EF=BC=8C=E8=B7=AF=E7=94=B1=
=E5=99=A8=E5=8F=91=E9=80=81=EF=BC=8C=E5=8D=8F=E8=B0=83=E5=99=A8=E9=97=AA=E7=
=83=81=E3=80=82<BR>=E4=BD=86=E6=98=AF=E8=BF=99=E4=BE=8B=E5=AD=90=E9=87=8C=
=E4=BD=93=E7=8E=B0=E4=BA=86=E7=BB=91=E5=AE=9A=E7=9A=84=E6=A6=82=E5=BF=B5=EF=
=BC=8C=E5=BA=94=E8=AF=A5=E8=AF=B4=E6=98=AF=E4=BB=8E=E5=9F=BA=E6=9C=AC=E5=8A=
=9F=E8=83=BD=E4=B8=8A=E5=BE=88=E9=BD=90=E5=85=A8=E7=9A=84=E4=B8=80=E4=B8=AA=
=E4=BE=8B=E5=AD=90=EF=BC=8C=E8=80=8C=E4=B8=94=E5=9C=A8ZSTACK=E4=B8=8A=E5=AE=
=9E=E7=8E=B0=E6=97=A0=E7=BA=BF=E7=BD=91=E7=BB=9C=E6=95=B0=E4=BC=A0=EF=BC=8C=
=E6=B2=A1=E6=9C=89=E4=BB=BB=E4=BD=95=E5=A4=9A=E4=BD=99=E7=9A=84=E5=8A=9F=E8=
=83=BD=E3=80=82=E6=89=80=E4=BB=A5=E8=AF=A5=E4=BE=8B=E5=AD=90=E6=98=AF=E4=B8=
=80=E4=B8=AA=E5=85=B8=E5=9E=8B=E7=9A=84ZSTACK=E6=A8=A1=E6=9D=BF=EF=BC=8C=E4=
=B9=9F=E5=B0=B1=E6=98=AF=E4=B8=BA=E7=94=A8=E6=88=B7=E6=8F=90=E4=BE=9B=E4=BA=
=86=E4=B8=80=E4=B8=AA=E9=80=9A=E7=94=A8=E6=A8=A1=E6=9D=BF=E5=8F=AF=E4=BB=A5=
=E9=80=9A=E8=BF=87=E8=BF=99=E4=B8=AA=E5=BB=BA=E7=AB=8B=E8=87=AA=E5=B7=B1=E7=
=9A=84=E5=BA=94=E7=94=A8=E3=80=82=E5=85=B3=E4=BA=8E=E5=A6=82=E4=BD=95=E5=9C=
=A8=E8=BF=99=E4=B8=AA=E4=BE=8B=E5=AD=90=E4=B8=8A=E5=BB=BA=E7=AB=8B=E3=80=81=
=E4=BF=AE=E6=94=B9=E6=88=90=E8=87=AA=E5=B7=B1=E7=9A=84=E5=B7=A5=E7=A8=8B=E5=
=92=8C=E5=BA=94=E7=94=A8=E9=A1=B9=E7=9B=AE=E8=AF=A6=E7=BB=86=E8=A7=81=E6=96=
=87=E6=A1=A3=EF=BC=9A<BR>Create=20
                        New Application For The=20
                        =

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -