|
一个学期又结束了,寒假来了,我等它很久了,被上课浪费了很多时间,还是在假期可以学到东西啊,最近重新拿到ZIGBEE,像是看到一个久违的朋友啊,倍感亲切啊。!
由于项目的需要,所以最近重新看了一下serial这个协议栈,这次将这次的学习历程给大家分享下,如果时间允许的话,我也效仿OUTMAN,将这一年来对ZIGBEE学习的经验总结下,来个系列的学习笔记。
这个历程相对SERSOR DEMO来说要简单的多,但这个历程是了解UART通信的良好例子,顺便温习一下协议栈的运行流程。在这里我就不厌其烦地再讲述一下这个组网的流程吧,老规矩,从MAIN()函数开始。
发现图片传不上来。。干脆就把文档上传了。。大家下载看吧。。呵呵。。
在此我还有一个问题,想请教一下大家,在组网的最后调用的一个函数,我文档里的最后那个函数
void ZDO_UpdateNwkStatus(devStates_t state)
{
epList_t *pItem = epList;
while (pItem != NULL)
{
if (pItem->epDesc->endPoint != ZDO_EP)
{
zdoSendStateChangeMsg(state, *(pItem->epDesc->task_id)); 这个函数我看不明白
}
pItem = pItem->nextDesc;
}
//没运行
#if defined MT_ZDO_CB_FUNC
zdoSendStateChangeMsg(state, MT_TaskID);
#endif
ZDAppNwkAddr.addr.shortAddr = NLME_GetShortAddr();
(void)NLME_GetExtAddr(); // Load the saveExtAddr pointer.
}
我跟踪不进去了,通过查看变量的值,那个task_id值为0x04和0x06,但我并没有找到相应的处理函数,希望有高人解惑。。!!
根据SERSOR DEMO里的,这个处理函数是在SAPI有相应的处理函数,但是在这里没找到,但是它又调用了那个设置事件的函数。。!! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|