zigbee实验三
计算机与通信工程学院
14
计算机与通信工程学院
天津理工大学
计算机与通信工程学院
实验报告
2014 至 2015 学年 第 一 学skID =task_id; //初始化任务优先级(任务优先级有协议栈的操作系统OSAL分配)
GenericApp_TransID =0; //发送数据包的序号初始化为0
//对节点描述符进行初始化
=GENERICAPP_ENDPOINT;
=&GenericApp_TaskID;
=(SimpleDescriptionFormat_t*)&GenericApp_SimpleDesc;
=noLatencyReqs;
afRegister(&GenericApp_epDesc);//afRegister()对节点的描述符进行注册。注册后,才能使用OSAL提供的系统服务。
=true;
=HAL_UART_BR_115200;
=null;
=false;
HalUARTOpen(0,&uartConfig);
}
//消息处理函数
UINT16 GenericApp_ProcessEvent(byte task_id,UINT16 events)
{
afIncomingMSGPacket_t* MSGpkt;//MSGpkt用于指向接收消息结构体的指针
if(events&SYS_EVENT_MSG)
{
// MSGpkt=(afIncomingMSGPacket_t*)osal_msg_reveive(GenericApp_TaskID);//osal_msg_receive()从消息队列上接收消息
MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID);
计算机与通信工程学院
8
计算机与通信工程学院
while(MSGpkt)
{
switch(MSGpkt->)
{
case AF_INCOMING_MSG_CMD: //接受到新数据的消息的ID是AF_INCOMING_MSG_CMD,这个宏是在协议栈中定义好的值为0x1A
//接受到的是无线数据包
//GenericApp_MessageMSGCB(MSGpkt);//功能是完成对接受数据的处理
osal_msg_receive(task_id);
HalUARTWrite(0,buffer,10);
break;
default:
break;
}
osal_msg_deallocate((uint8 *)MSGpkt);//接收到的消息处理完后,释放消息所占的存储空间
// MSGpkt = (afIncomingMSGPacket_t *)osal_msg_reveive(GenericApp_TaskID);
MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(GenericApp_TaskID);
//处理完一个消息后,再从消息队列里接受消息,然后对其进行相应处理,直到所有消息处理完
}
return (events ^ SYS_EVENT_MSG);
}
return 0;
}
void GenericApp_MessageMSGCB(
zigbee实验三 来自淘豆网m.daumloan.com转载请标明出处.