实验板子:
1. zigbee底板3块(1终端、1路由、1协调器,均基于CC2530)
2. stm32核心板(采集温度)
说明:下面的程序都是在TI官方例程SampleApp工程下面进行的更改。Z-stack 2007
一、Zigbee终端程序 和 STM32通信(SPI)
其实,这里用串口通信就可以了。奈何STM32的串口被占用了,只能用SPI通信。
第一步: STM32中配置相应的SPI参数。这里省略了。
STM32是SPI Master, 每隔50ms给Zigbee终端发一次数据。
第二步:Zigbee终端配置相应的参数。 下面,我把一些关键的代码贴出来。
Z-stack2007中,没有hal_spi.c和hal_spi.h的文件。推荐使用DMA。
这里,我自己写了2个文件,由于代码量少,采用了中断处理。
1. 初始化函数
。。。。
}
2. 数据处理函数
3.数据发送函数(周期发送1s一次)
下面,将hal_spi.c和hal_spi.h的源码粘贴出来
/**************************************/
/**************************************/
#include "hal_types.h"
#include "OSAL.h"
#include "OnBoard.h"
#include "hal_assert.h"
#include "hal_spi.h"
#include "SampleApp.h"
#define uint unsigned int
#define uint8_t unsigned char
#define uint16_t unsigned short int
//定义片选引脚SSN
#define SSN1 P1_4
#define LOW 0
#define HIGH 1
#define LEN 12 //扩大到接收2组数据(避免出现错位现象)
#define TRUE 1
#defi