- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
智能产品设计与应用基于BasicRF的点对点无线通信
案例导入01/PARTONE
基于BasicRF的点对点无线通信BasicRF由TI公司提供,它包含了IEEE802.15.4标准的数据包的收发。这个协议只是用来演示无线设备是如何进行数据传输的,不包含完整功能的协议。但是它采用了与802.15.4MA兼容的数据包结构及ACK包结构,其功能限制如下:不提供“多跳”、“设备扫描”及Beacon。不提供不同种的网络设备,如协调器、路由器等。所有节点同级,只实现点对点传输。传输时会等待信道空闲,但不按802.15.4CSMA-CA要求进行两次CCA检测。不重传数据。简言之,BasicRF功能较为简单,但可用来进行无线设备数据传输的入门学习。BasicRF概述
基于BasicRF的点对点无线通信BasicRF软件包主要有四个部分:硬件层:HardwareLayerA硬件抽象层:HardwareAbstractionLayer基本无线传输层:BasicRFLayer应用层:AppliactionBasicRF只是简单的点对点无线通信协议,不具备“多跳”、“设备扫描”功能,不提供多种网络设备,如协调器,所有的节点为同一等级,只能实现点对点的数据传输,传输时会等待信道空闲,但不支持数据重传。BasicRF概述
基于BasicRF的点对点无线通信BasicRF概述
基于BasicRF的点对点无线通信BasicRF的应用开发要点BasicRF软件包看起来比较复杂,而实际上BasicRF相关的核心要点,有四个部分:无线参数的配置。无线模块的初始化。无线数据的发送。无线数据的接收。需要配置四个无线参数:本机地址、目标地址、PandID、通信信道。注意:两个通信节点的PandID和通信信道必须一致。
基于BasicRF的点对点无线通信BasicRF核心函数介绍1.BasicRF无线数据发送:basicRfSendPacket()uint8basicRfSendPacket(uint16destAddr,uint8*pPayload,uint8length)功能:将待发送数据缓冲区中指定长度的数据发送给目标地址的节点。返回值:SUCCESS:数据发送成功。 FAILED:数据发送失败。参数:destAddr:发送的目标地址。pPayload:待发送数据的缓冲区指针。 length:待发送数据的长度。
基于BasicRF的点对点无线通信BasicRF核心函数介绍2.BasicRF判断是否已收到无线数据:basicRfPacketlsReady()uint8basicRfPacketIsReady(void)功能:查询无线模块是否成功接收到数据。返回值:返回TRUE:表示已成功接收到无线数据,有数据可以读取。
基于BasicRF的点对点无线通信BasicRF核心函数介绍3.BasicRF无线数据读取:basicRfReceive()uint8basicRfReceive(uint8*pRxData,uint16len,int16*pRssi)功能:在已经接收到的无线数据中,读取指定长度的数据到数据接收缓冲区中。返回值:实际读取到的数据长度。参数:pRxData:存放读取数据的缓冲区指针。 len:需要读取数据的长度。 pRssi:保持上一次数据接收包信息变量位置,一般填NULL。
基于BasicRF的点对点无线通信staticvoidappSwitch(){//BasicRF初始化basicRfConfig.myAddr=SWITCH_ADDR;if(basicRfInit(basicRfConfig)==FAILED){HAL_ASSERT(FALSE);}//KeepReceiveroffwhennotneededtosavepowerbasicRfReceiveOff();//Mainloopwhile(TRUE){if(halButtonPushed()==HAL_BUTTON_1){bsicRfSendPacket(LIGHT_ADDR,pTxData,APP_PAYLOAD_LENGTH);//PutMCUtosleep.ItwillwakeuponjoystickinterrupthalIntOff(
文档评论(0)