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

CC2538 zstack3.0.1 做协调器扩展子设备容量后出现的问题

CC2538拓展子设备容量为60,预定义如下:

NV_INIT
NV_RESTORE

……

NWK_MAX_DEVICE_LIST=60
ZDSECMGR_TC_DEVICE_MAX=60
MAX_NEIGHBOR_ENTRIES=4
APS_MAX_GROUPS=2
MAX_RTG_SRC_ENTRIES=4

子设备会定时上报数据给协调器,协调器通过串口打印数据。修改设备容量以后,协调器不重启数据正常,只要协调器重启,先前入网的子设备发送的数据协调器都不能打印了,抓包显示协调器是有ack的;并且我在协调器afIncomingData()函数里添加打印和断点都没有反应,

控制任意的子设备断电并恢复网络以后,该设备发送的数据协调器就能正常打印了,并且afIncomingData()里的打印也可以执行。

请各位大佬帮忙分析分析是啥原因导致的上述的情况哦,多谢。

YiKai Chen:

可以附上抓包檔並用抓包檔說明你的問題嗎?

Shicheng Song:

回复 YiKai Chen:

1205.7z10:11:16的时候重启的协调器,终端发送的数据协调器就不能打印了

10:12:57的时候重启终端恢复网络,协调器可以打印终端发的数据。

YiKai Chen:

抓包看起來沒什麼問題,你协调器通过串口打印数据是作在哪裡

Shicheng Song:

回复 YiKai Chen:

注册在ISAZone_ISAZoneCallbacks的回调函数里的,在afIncomingData()里也有打印。

Shicheng Song:

回复 YiKai Chen:

注册在ISAZone_ISAZoneCallbacks的回调函数里,afIncomingData()也有打印。

Alvin Chen:

回复 Shicheng Song:

你UART的buf设置的多少,还有注意看看自己开辟的内存有没有内存的free,听描述更像是内存溢出。

YiKai Chen:

回复 Shicheng Song:

不建議在afIncomingData()里打印,試試把打印拿到application層再試試看

Shicheng Song:

回复 Alvin Chen:

#define MT_UART_TX_BUFF_MAX170
#define MT_UART_RX_BUFF_MAX120

Shicheng Song:

回复 YiKai Chen:

那个只是作为一个是否收到包的判断,但是协调器重启后,那边也不能打印数据。

Shicheng Song:

我感觉像是关联表或者是什么的出了问题,协调器重启以前是没问题的;重启以后,先前入网的设备的数据就发送不了,新入网的和恢复网络的终端的数据就可以发送。

赞(0)
未经允许不得转载:TI中文支持网 » CC2538 zstack3.0.1 做协调器扩展子设备容量后出现的问题
分享到: 更多 (0)