目录
在开发ZigBee无线传感器网络过程中,需解决以下几个问题:
设计原理图如下:
协调器编程:
//Coordinator.h
typedef union h
{
unsigned char databuf[18];
struct RFRXBUF
{
unsigned char head[2]; //命令头
unsigned char type[3];
unsigned char myNWK[4];
unsigned char pNWK[4];
unsigned char value[4]; //温度数据
unsigned char tail; //命令尾
}BUF;
}RFTX;
该联合体包括一个数组databuf和一个结构体BUF
//Coordinator.c
UINT16 GenericApp_ProcessEvent( byte task_id, UINT16 events )
{
afIncomingMSGPacket_t *MSGpkt;
if ( events & SYS_EVENT_MSG )
{
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID );
while ( MSGpkt )
{
switch ( MSGpkt->hdr.event )
{
case AF_INCOMING_MSG_CMD:
GenericApp_MessageMSGCB( MSGpkt );
break;
default:
break;
}
osal_msg_deallocate( (uint8 *)MSGpkt );
MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID )