This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

询问z-stack协议栈版本之间互相通信的问题

Other Parts Discussed in Thread: CC2538, CC2530, Z-STACK

本人目前有拿到两种开发套件:1套是CC2538 smartrf06开发套件 ;1套是CC2530 smartrf05开发套件。

CC2530套件跑的是协议栈ZStack-CC2530-2.5.1a, 两个设备1个coordinator,1个enddevice两者通信正常;

CC2538套件跑的是协议栈Z-Stack Mesh 1.0.0,两个设备1个coordinator,1个enddevice两者也通信正常;

 

然后做了一个交叉的实验,就是跑协议栈Z-Stack Mesh 1.0.0的CC2538做为coordinator,跑ZStack-CC2530-2.5.1a的CC2530做为end device,他们之间可以组网成功,但是通信不正常,互相收不到发送的字符串 “hello world”,求解啊!

  • 发数据过去的时候,需要指定destination的地址,endpoint等,这些信息和你的CC2538上都一样吗?建议你先用Z-stack Home1.2.0里面CC2530CC2538的例子,相互通信下试试!


  • 指定destination的地址,endpoint,已经是一样的,因为协议栈里的例程本来这些参数就都是一样的了,对了一遍是正确的。

  • 另外我刚用Z-stack Home1.2.0里面CC2530的例程编译了下,总出现如下编译错误:

    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 482
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 507
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 511
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 512
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 557
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 569
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 599
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 680
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 680
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 729
    Error[Pe095]: array is too large C:\Texas Instruments\Z-Stack Home 1.2.1\Components\hal\target\CC2530EB\_hal_uart_dma.c 735
    Error while running C/C++ Compiler
    mac_autopend.c 
    Error[Pe167]: argument of type "unsigned char *" is incompatible with parameter of type "unsigned char volatile __xdata *" C:\Texas Instruments\Z-Stack Home 1.2.1\Components\mac\low_level\srf04\mac_autopend.c 464
    Error[Pe167]: argument of type "unsigned char *" is incompatible with parameter of type "unsigned char volatile __xdata *" C:\Texas Instruments\Z-Stack Home 1.2.1\Components\mac\low_level\srf04\mac_autopend.c 472
    Error[Pe167]: argument of type "unsigned char *" is incompatible with parameter of type "unsigned char volatile __xdata *" C:\Texas Instruments\Z-Stack Home 1.2.1\Components\mac\low_level\srf04\mac_autopend.c 561
    Error[Pe167]: argument of type "unsigned char *" is incompatible with parameter of type "unsigned char volatile __xdata *" C:\Texas Instruments\Z-Stack Home 1.2.1\Components\mac\low_level\srf04\mac_autopend.c 580
    Error[Pe167]: argument of type "unsigned char *" is incompatible with parameter of type "unsigned char volatile __xdata *" C:\Texas Instruments\Z-Stack Home 1.2.1\Components\mac\low_level\srf04\mac_autopend.c 598
    Error[Pe167]: argument of type "unsigned char *" is incompatible with parameter of type "unsigned char volatile __xdata *" C:\Texas Instruments\Z-Stack Home 1.2.1\Components\mac\low_level\srf04\mac_autopend.c 616

     

  • 更正一个比较低级的错误,TI提供的最新协议栈中的CC2530部分是可以编译通过的,之所以出现如上的各种编译错误是因为我的PC上安装了EW430,EWARM,EW8051多个版本的IAR,导致打开CC2530工程时,IAR中的工程配置部分乱了,导致各种编译问题。