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

3.0.2的AF_DataRequest发送问题

我在GenericAPP例程里面添加了按键触发一个自定义的数据发送函数,在这个发送函数里面的AF_DataRequest的设备描述符我是通过afFindEndPointDesc( GENERICAPP_ENDPOINT )来获得的,请问我这样填写参数对吗?还是要像mesh1.0.0一样定义设备的描述符?为何我按键发送之后,设备的按键功能直接卡死,且接受方ACK了却并没有进入到AF_INCOMING_MSG_CMD里面,求解,万分感谢。抓包文件及代码附上。

void GenericApp_SendTheMessage(void)
{endPointDesc_t * epDesc;epDesc = afFindEndPointDesc( GENERICAPP_ENDPOINT );uint8 SendData[4]={0x11,0x22,0x33,0x99};afAddrType_t devDstAddr;devDstAddr.addrMode=(afAddrMode_t)Addr16Bit;devDstAddr.endPoint=GENERICAPP_ENDPOINT;devDstAddr.addr.shortAddr=0x0000;if(SUCCESS==AF_DataRequest(&devDstAddr,epDesc,GENERICAPP_CLUSTERID,4,SendData,&zclGenericApp_TaskID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)){osal_start_timerEx( zclGenericApp_TaskID,JOIN_LED_BLINK_EVT,50);}else{}
}

7月28日17_13_25_按键卡死.rar

Alvin Chen:

按键的问题你要自己去排查一下程序了,你在case ZCL_INCOMING_MSG: 打个断点看一下接收是否进入了zcl 处理

user6069081:

回复 Alvin Chen:

什么情况下路由发送一个无线数据能卡死按键呢,但是这个路由设备还会发出link status呢。望解答,感谢。

YiKai Chen:

回复 user6069081:

卡死按键應該跟发送无线数据无關,你應該查你的按鍵程序

Alvin Chen:

回复 user6069081:

”什么情况下路由发送一个无线数据能卡死按键呢“

这个要看你自己的程序了,你用的是Z-stack的什么demo?
zclGenericApp_HandleKeys把你的GenericApp_SendTheMessage放在某个按键下面例如:if ( keys & HAL_KEY_SW_1 )

user6069081:

回复 YiKai Chen:

没加GenericApp_SendTheMessage的时候,我的路由器的按键是可以TOGGLE路由自身的LED灯的,一旦按键触发GenericApp_SendTheMessage这个函数,按键就TOGGLE不了LED了。

user6069081:

回复 user6069081:

我在3.0.2的GenericAPP的demo上移植了我板子的LED以及KEY的hal层代码,也的确是可以正常运行的,触发条件正如你所说放在了zclGenericApp_HandleKeys里。

user6069081:

回复 Alvin Chen:

当我用mesh1.0.0的时候同样的板子同样的操作是完全没有问题的。

YiKai Chen:

回复 user6069081:

你按键是用interrupt還是polling,用interrupt的話去查一下按键按下去後有沒有收到,如果是用polling,就查一下polling key的事件還有沒有在運行

user6069081:

回复 YiKai Chen:

无线抓包显示路由确实发出了这条消息也收到了一个ACK,可是协调器我不知道应该在哪里处理这个自定义的数据,是在AF_INCOMING_MSG_CMD里面吗?

YiKai Chen:

回复 user6069081:

Z-Stack 3.0.2你一定要定義一個私有的cluster然後在ZCL_INCOMING_MSG去接收,如果硬要收到AF_INCOMING_MSG_CMD,只能自己到zcl_event_loop的下面程序內挖個洞處理

if ( *msgPtr == AF_INCOMING_MSG_CMD ){zcl_ProcessMessageMSG( (afIncomingMSGPacket_t *)msgPtr );}

赞(0)
未经允许不得转载:TI中文支持网 » 3.0.2的AF_DataRequest发送问题
分享到: 更多 (0)