TI的Zstack协议栈SensorDemo例程温度收发说明

TI的Zstack协议栈SensorDemo例程温度收发说明

ID:46613085

大小:80.00 KB

页数:4页

时间:2019-11-26

TI的Zstack协议栈SensorDemo例程温度收发说明_第1页
TI的Zstack协议栈SensorDemo例程温度收发说明_第2页
TI的Zstack协议栈SensorDemo例程温度收发说明_第3页
TI的Zstack协议栈SensorDemo例程温度收发说明_第4页
资源描述:

《TI的Zstack协议栈SensorDemo例程温度收发说明》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、T[的Zstack协议栈SensorDemo例程温度收发学习Zigbee也有快TI的SensorDemo例程中,打开workspace卜有四种选择,CollectorEB,SensorEBCollectorEB-PRO,SensorEB-PRO,其中PRO代表专业版。在这里我们主要写一下TI提供的这个例程关于温度数据传送与接收的问题。首先在workspace卜选择SensorEB(其实这里CollectorEB与SensorEB是—•样的打开目录APP就会发现)打开APP后有两个重要的.C文件DemoCo

2、llector.c和DemoSensor.c,我们发现DemoCollector.c是白色的表明该文件在SensorEB模式下不会被编译。点开DemoSensor.c找到staticvoidsendReport(void)函数T1定义的温度数据通过无线传输给每个设备的数据格式是这样的1byte1Byte2BytesTemperatureVoltageParentshortaddress温度值和电流值各占一个字节,设备段地址占两个字节,接下来看函数是不是很容易理解了,呵呵。staticvoidsendRep

3、ort(void){uint8pData[SENSOR_REPORT_LENGTH];//存放数据的数组staticuintSreportNr=0;uint8txOptions;//读温度值pData[SENSOR_TEMP_OFFSET]=readTempO;//读电压值pData[SENSOR_VOLTAGE_OFFSET]=readVoltage();〃写入设备段地址pData[SENSOR_PARENT_OFFSET]=HI_UINT16(parentShortAddr);pData[SENSOR

4、_PARENT_OFFSET+1]=LO_UINT16(parentShortAddr);//SetACKrequestoneachACK_INTERVALreport//Ifareportfailed,setACKrequestonnextreportif(++reportNr

5、//DestinationaddressOxFFFE:Destinationaddressissenttopreviously//establishedbindingforthecommandld.〃发送数据请求,把温度信息发送给地址为0XFFFE的设备zb_SendDataRequest(OxFFFE,SENSOR_REPORT_CMD_ID,SENSOR_REPORT_LENGTH,pData,0,txOptions,0);}这样节点测得的温度信息就可以通过这种方式发送给I•办调器了。那么协调器是怎么

6、接收这些数据的呢?选中CollectorEB,打开APP目录下的sapi.c文件找到UINT16SAPI_ProcessEvent(bytetask_id,UINT16events)函数,这个函数厉害了,它是來处理后务的所有事件,这些事件包括定时器,消息以及其他的一些用户定义的事件,在这个函数里我们看到caseAF_INCOMING_MSG_CMD:pMSGpkt=(afIncomingMSGPacket_t*)pMsg;SAPI_ReceiveDataIndication(pMSGpkt->srcAdd

7、r.addr.shortAddr,pMSGpkt->clusterId,pMSGpkt->cmd.DataLength,pMSGpkt->cmd.Data);break;也就是当消息到來时,会调用SAPI_ReceiveDataIndication()函数进一步追踪该函数voidSAPI_ReceiveDataIndication(uintl6source,uintl6command,uintl6len,uint8*pData){#ifdefined(MT_SAPI_CB_FUNC)/*Firstchec

8、kifMThassubscribedforthiscallback.Ifso,passitasaeventtoMonitorTestandreturncontroltocallingfunctionafterthat*/if(SAPICB_CHECK(SPI_CB_SAPI_RCV_DATA_IND)){zb_MTCallbackReceiveDataIndication(source,command,len,pData);}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。