Z-Stack Mesh 1.0.0协议栈中与CC2520交互过程的疑惑
1、Z-Stack Mesh 1.0.0协议栈下的EXP5438支持MSP430+CC2520。但查看源代码并未发现对CC2520初始化、配置、通讯等相关的代码,这些过程是不是都封装到库
里了,对用户是透明的。光看源程序的话,跟2.5.1a的组网、入网的过程差不多,根本看不出来是MSP430+CC2520的组合。
2、要想正常使用Z-Stack Mesh 1.0.0协议栈中EXP5438的话,如果不是TI的开发板,是不是需要下面的步骤:
(1)把SPI功能启用(默认SPI宏并未打开)
(2)按照CC2520实际使用的SPI管脚进行IO配置。
还需要其他的步骤吗?
Z-Stack Mesh中EXP5438+CC2520是需要用IAR FOR MSP430打开的
hal_mcu.h定义了MCU为MSP430
#define HAL_MCU_MSP430
关于CC2520的相关定义在mac_radio.c以及mac_radio_defs.c等文件内
谢谢回复。按照提示找到了底层对CC2520的操作,也找到了相关IO口的初始化函数。
void macDualchipSystemInit(void)
{
/* initialize modules */
halMacInit(); //IO口配置
macMcuTimerInit();
macSpiInit(); //SPI外设配置
。。。。。。。。。。。
}
但主程序中并没有调用该函数。
其宏定义#define MAC_RADIO_MCU_INIT() macDualchipSystemInit(),虽然被macLowLevelInit(void)函数调用,
MAC_INTERNAL_API void macLowLevelInit(void)
{
/* initialize mcu before anything else */
MAC_RADIO_MCU_INIT();
。。。。。。。。。。。
}
但系统也没有对macLowLevelInit()进行调用。
也就是说系统并没有对CC2520进行初始化操作,这部分需要自己加进去吗?按理说TI的例程是不需要额外修改的啊。
请问mesh 里的 * TX_ACK_DONE/TX_FRM_DONE Pin / Interrupt Configuration
* ------------------------------------------------------------------------------------------------
*/
#define HAL_MAC_TX_ACK_DONE_GPIO_BIT 4
#define HAL_MAC_READ_TX_ACK_DONE_PIN() (P1IN & BV(HAL_MAC_TX_ACK_DONE_GPIO_BIT))
#define HAL_MAC_CONFIG_TX_ACK_DONE_PIN_AS_INPUT() st( P1DIR &= ~BV(HAL_MAC_TX_ACK_DONE_GPIO_BIT); )
#define HAL_MAC_CONFIG_TX_ACK_DONE_PIN_AS_OUTPUT() st( P1DIR |= BV(HAL_MAC_TX_ACK_DONE_GPIO_BIT); )
/* ------------------------------------------------------------------------------------------------
* TRIGGER Pin Configuration
* ------------------------------------------------------------------------------------------------
*/
#define HAL_MAC_TRIGGER_GPIO_BIT 2
#define HAL_MAC_CONFIG_TRIGGER_PIN_AS_OUTPUT() st( P8DIR |= BV(HAL_MAC_TRIGGER_GPIO_BIT); \
P8SEL |= BV(HAL_MAC_TRIGGER_GPIO_BIT);)
#define HAL_MAC_CONFIG_TRIGGER_PIN_AS_INTPUT() st( P8DIR &= ~BV(HAL_MAC_TRIGGER_GPIO_BIT); \
P8SEL &= ~BV(HAL_MAC_TRIGGER_GPIO_BIT);)
这两个脚在cc2520里找不到呀。在cc2520手册只看到了CCA FIFO FIFOP SFD.GPIO0 是时钟输出。GPIO5链接地或电源。另外的TRIGGER和TX_ACK找不到
找到了找到了
就这两个图
就这两个图
就这两个图