微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于CC2530开发板 非自启动模式设置的问题

关于CC2530开发板 非自启动模式设置的问题

时间:10-02 整理:3721RD 点击:

协议栈版本 ZStack-CC2530-2.3.0-1.4.0, IAR版本 8.10  仿真器版本 smartRF04EB

问题 描述:

在TI提供的例程中,使用了ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples\SimpleApp,编译中采用collector(采集节点),在程序中,打算采用按键中断的方法启动网络,在defined symbols中定义了HOLD_AUTO_START, 以及xNV_RESTOR在onbord.c中:设置采用中断方式

void InitBoard( uint8 level )
{
    /* Initialize Key stuff */
    OnboardKeyIntEnable = HAL_KEY_INTERRUPT_ENABLE;//
    HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);
  }
}
开发板不是TI官方的板子,但是查看原理图发现两个接键分别定义在了p0_1与P2_0,跟官方的HAL_KEY_SW_6、HAL_KEY_JOY_MOVE两个定义的引脚一样,设置时,采用p0_1的中断启动网络。
因此设想,在第一次下载程序并运行的时候,如果没有按键按下,也没有设置自启动,那么在函数UINT16 SAPI_ProcessEvent( byte task_id, UINT16 events )中的startOptions的值将为0,不会启动网络;
define symbols中定义如下:
HOLD_AUTO_START
BUILD_ALL_DEVICES
REFLECTOR
NV_INIT
xNV_RESTORE
ZTOOL_P1
xMT_TASK
xMT_SYS_FUNC
LCD_SUPPORTED=DEBUG
xMT_SAPI_FUNC
xMT_SAPI_CB_FUNC
但是在下载程序并运行后发现,在第一次运行的时候,startOptions的值就为0x04;下图为watch载图 这是为什么?

同样的,我将协调器设置为controller(控制节点)时,如果没有按键按下,如设想一下,不会启动网络,直到按键按下watch载图如下图所示:


在TI给的例程中,协调器作为controller与collector有什么区别么? 如果有,我该怎么样设置按键启动网络?
如果没有,那我的程序哪里设置有问题? 
请TI的员工帮我看一下  谢谢~

这个协议栈已经非常老的版本了,建议下载一个较新的协议扎版本Z-Stack Mesh 1.0.0

你可以把HOLD_AUTO_Start加上,然后通过按键调用 ZDOInitDevice(0);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top