ImageVerifierCode 换一换
格式:PDF , 页数:9 ,大小:183.82KB ,
资源ID:6061040      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6061040.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(串口透明传输实验说明.pdf)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

串口透明传输实验说明.pdf

1、参考文档:xf zigbee 串口透明传输SampleApp 例程实验增加一个事件十六进制转字符函数【摘】数据的发送,广播、组播、点对点Z-stack1.4.3-1.2.1 SampleApp DB编译选项CoordinatorDBCC2430DBHAL_UARTZDO_COORDINATOREndDeviceDBCC2430DBNWK_AUTO_POLLHAL_UART修改地方 hal_board_cfg.h/*Set to TRUE enable UART usage,FALSE disable it*/#ifndef HAL_UART#if(defined ZAPP_P1)|(defin

2、ed ZAPP_P2)|(defined ZTOOL_P1)|(defined ZTOOL_P2)#define HAL_UART TRUE#else#define HAL_UART TRUE#endif/*ZAPP,ZTOOL*/#endif/*HAL_UART*/#if HAL_UART#define HAL_UART_0_ENABLETRUE#define HAL_UART_1_ENABLEFALSE修改地方 SampleApp.h#define UART_RX_CB_EVT0 x0002/添加串口处理事件修改地方 SampleApp.c串口配置void SampleApp_Init(u

3、int8 task_id)/UART ConfigurationhalUARTCfg_t uartConfig;uartConfig.configured=TRUE;uartConfig.baudRate=HAL_UART_BR_38400;uartConfig.flowControl=FALSE;uartConfig.flowControlThreshold=1;uartConfig.rx.maxBufSize=255;uartConfig.tx.maxBufSize=255;uartConfig.idleTimeout=1;uartConfig.intEnable=TRUE;uartCon

4、fig.callBackFunc=rxCB;HalUARTOpen(HAL_UART_PORT_0,&uartConfig);回调函数 rxCBstatic void rxCB(uint8 port,uint8 event)/uint8rxlen;/接收数据长度/uint8*databuf;/接收数据块指针extern uint8 SampleApp_TaskID;uint16 short_ddr;uint8 short_ddr_H;uint8 short_ddr_L;uint8*pointer1;uint8 word_buffer10;uint8*pointer9;uint8 str_ent

5、er=n;pointer9=&str_enter0;short_ddr=NLME_GetShortAddr();short_ddr_H=(uint8)(short_ddr&0 xff00)8);short_ddr_L=(uint8)short_ddr;rxlen=Hal_UART_RxBufLen(HAL_UART_PORT_0);/接收缓冲区数据长度,字节为单位databuf=osal_mem_alloc(rxlen+1+2);/多分配 3 字节,分配如下databuf0=rxlen;/一字节存放数据长度databuf1=short_ddr_H;/一字节存放源地址高 8 位databuf2=

6、short_ddr_L;/一字节存放源地址低 8 位databufrxlen+1=n;/一字节存放换行符HalUARTRead(HAL_UART_PORT_0,databuf+3,rxlen);/读接收缓冲区数据到内存 databuf+3#if defined(ZDO_COORDINATOR)word_buffer0=0;word_buffer1=0;word_buffer2=0;word_buffer3=0;#elseword_buffer0=7;word_buffer1=9;word_buffer2=6;word_buffer3=F;#endifword_buffer4=:;word_bu

7、ffer5=databuf0/100+48;word_buffer6=(databuf0%100)/10+48;word_buffer7=databuf0%10+48;word_buffer8=n;pointer1=word_buffer;/HalUARTWrite()写入串口正确说明数据已经正确地存储在 databuf 中!HalUARTWrite(HAL_UART_PORT_0,pointer1,9);HalUARTWrite(HAL_UART_PORT_0,databuf+1,rxlen+1);/把数据送串口输出HalUARTWrite(0,pointer9,1);HalUARTWrit

8、e(0,pointer9,1);if(!rxlen)osal_mem_free(databuf);/释放内存osal_set_event(SampleApp_TaskID,UART_RX_CB_EVT);自定义发送数据函数void SampleApp_SPI_SendData(uint8*buf,uint8 len)/此处点对点传输SampleApp_SPI_SendData_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;SampleApp_SPI_SendData_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;#if define

9、d(ZDO_COORDINATOR)SampleApp_SPI_SendData_DstAddr.addr.shortAddr=0 x796F;#elseSampleApp_SPI_SendData_DstAddr.addr.shortAddr=0 x0000;#endifif(AF_DataRequest(&SampleApp_SPI_SendData_DstAddr,(endPointDesc_t*)&SampleApp_epDesc,SAMPLEAPP_PERIODIC_CLUSTERID,len,buf,&SampleApp_TransID,0,AF_DEFAULT_RADIUS)=a

10、fStatus_SUCCESS)osal_mem_free(databuf);/必须释放内存,不然造成溢出!elseosal_mem_free(databuf);变量定义afAddrType_t SampleApp_SPI_SendData_DstAddr;uint8rxlen;/接收数据长度uint8*databuf;/接收数据块指针函数声明void SampleApp_SPI_SendData(uint8*buf,uint8 len);uint8 hextoword1(uint8 t);/十六进制转字符uint8 hextoword2(uint8 t);static void rxCB(u

11、int8 port,uint8 event);其他void SampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)uint16 flashTime;uint16 short_ddr;uint8*pointer1;uint8*pointer2;uint8*pointer3;uint8*pointer4;uint8*pointer5;uint8*pointer6;uint8*pointer7;uint8*pointer8;uint8*pointer9;uint8 str_1=Source address:;uint8 str_2=Destination

12、address:;uint8 str_3=Data length:;uint8 str_4=Data:;uint8 str_5=n;pointer1=&str_10;pointer2=&str_20;pointer3=&str_30;pointer4=&str_40;pointer9=&str_50;uint8 Src_short_ddr_H;uint8 Src_short_ddr_L;uint8 Des_short_ddr_H;uint8 Des_short_ddr_L;uint8 word_buffer4;uint8 Src_shortaddr7;uint8 Des_shortaddr7;

13、switch(pkt-clusterId)case SAMPLEAPP_PERIODIC_CLUSTERID:HalLedBlink(HAL_LED_4,4,50,(1000/4);pointer5=&(pkt-cmd.Data3);/pointer5:具体数据首地址word_buffer0=(pkt-cmd.Data0)/100+48;word_buffer1=(pkt-cmd.Data0)%100)/10+48;word_buffer2=(pkt-cmd.Data0)%10+48;word_buffer3=n;pointer6=word_buffer;/pointer6:数据长度Src_s

14、hort_ddr_H=pkt-cmd.Data1;Src_short_ddr_L=pkt-cmd.Data2;Src_shortaddr0=48;Src_shortaddr1=120;Src_shortaddr2=hextoword1(Src_short_ddr_H);Src_shortaddr3=hextoword2(Src_short_ddr_H);Src_shortaddr4=hextoword1(Src_short_ddr_L);Src_shortaddr5=hextoword2(Src_short_ddr_L);Src_shortaddr6=n;pointer7=&Src_short

15、addr0;/pointer7:源地址short_ddr=NLME_GetShortAddr();Des_short_ddr_H=(uint8)(short_ddr&0 xff00)8);Des_short_ddr_L=(uint8)short_ddr;Des_shortaddr0=48;Des_shortaddr1=120;Des_shortaddr2=hextoword1(Des_short_ddr_H);Des_shortaddr3=hextoword2(Des_short_ddr_H);Des_shortaddr4=hextoword1(Des_short_ddr_L);Des_sho

16、rtaddr5=hextoword2(Des_short_ddr_L);Des_shortaddr6=n;pointer8=&Des_shortaddr0;/pointer8:目的地址HalUARTWrite(0,pointer1,15);/源地址HalUARTWrite(0,pointer7,7);HalUARTWrite(0,pointer2,20);/目的地址HalUARTWrite(0,pointer8,7);HalUARTWrite(0,pointer3,12);/数据长度HalUARTWrite(0,pointer6,4);HalUARTWrite(0,pointer4,5);/具

17、体数据HalUARTWrite(0,pointer5,pkt-cmd.Data0);HalUARTWrite(0,pointer9,1);/换行符HalUARTWrite(0,pointer9,1);break;case SAMPLEAPP_FLASH_CLUSTERID:flashTime=BUILD_UINT16(pkt-cmd.Data1,pkt-cmd.Data2);HalLedBlink(HAL_LED_4,4,50,(flashTime/4);break;uint16 SampleApp_ProcessEvent(uint8 task_id,uint16 events)afInco

18、mingMSGPacket_t*MSGpkt;uint16 short_ddr;uint8 yy1;uint8 yy2;uint8 str_1=my short address is:;#if defined(ZDO_COORDINATOR)uint8 str_2=build the network successfully;#elseuint8 str_2=join the network successfully;#endifuint8 str_3=n;uint8 shortaddr7;uint8*pointer1;uint8*pointer2;uint8*pointer3;uint8*p

19、ointer4;if(events&SYS_EVENT_MSG)MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(SampleApp_TaskID);while(MSGpkt)switch(MSGpkt-hdr.event)/Received whenever the device changes state in the networkcase ZDO_STATE_CHANGE:SampleApp_NwkState=(devStates_t)(MSGpkt-hdr.status);if(SampleApp_NwkState=DEV_ZB_COOR

20、D)|(SampleApp_NwkState=DEV_ROUTER)|(SampleApp_NwkState=DEV_END_DEVICE)short_ddr=NLME_GetShortAddr();yy1=(uint8)(short_ddr&0 xff00)8);yy2=(uint8)short_ddr;shortaddr0=48;shortaddr1=120;shortaddr2=hextoword1(yy1);shortaddr3=hextoword2(yy1);shortaddr4=hextoword1(yy2);shortaddr5=hextoword2(yy2);shortaddr

21、6=n;pointer1=&shortaddr0;pointer2=&str_10;pointer3=&str_20;pointer4=&str_30;HalUARTWrite(0,pointer4,1);HalUARTWrite(0,pointer3,29);HalUARTWrite(0,pointer4,1);HalUARTWrite(0,pointer2,20);HalUARTWrite(0,pointer1,7);HalUARTWrite(0,pointer4,1);/Start sending the periodic message inaregular interval./osal_start_timerEx(SampleApp_TaskID,/SAMPLEAPP_SEND_PERIODIC_MSG_EVT,/SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT);else/Device is no longer in the networkbreak;if(events&UART_RX_CB_EVT)/串口数据处理SampleApp_SPI_SendData(databuf,rxlen+1+2);return(events UART_RX_CB_EVT);每次发送,小灯闪 4 下

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服