当前位置: 首页 > news >正文

南宁网站建设培训免费seo在线工具

南宁网站建设培训,免费seo在线工具,老薛主机做多个网站,惠州企业建站模板1. Basic RF 概述 Basic RF 是 TI 提供的一套简化版的无线通信协议栈,旨在帮助开发者快速搭建无线通信系统。它基于 IEEE 802.15.4 标准的数据包收发,但只用于演示无线设备数据传输的基本方法,不包含完整功能的协议。Basic RF 的功能限制包括…
1. Basic RF 概述

Basic RF 是 TI 提供的一套简化版的无线通信协议栈,旨在帮助开发者快速搭建无线通信系统。它基于 IEEE 802.15.4 标准的数据包收发,但只用于演示无线设备数据传输的基本方法,不包含完整功能的协议。Basic RF 的功能限制包括不提供多跳、设备扫描、Beacon,以及不同种类的网络设备(如协调器、路由器等)3。

2. Basic RF 工作原理
  • 启动:创建一个 basicRfCfg 数据结构并初始化其成员,然后调用 basicRfInit() 函数进行协议初始化。
  • 数据发送:创建一个 buffer,将 payload 放入其中,然后调用 basicRfSendPacket() 函数发送。
  • 数据接收:上层通过 basicRfPacketIsReady() 函数检查是否收到新的数据包,然后调用 basicRfReceive() 函数将收到的数据复制到 buffer 中。
  • 数据帧结构:数据包结构包括前导码(Preambles)、帧开始定界符(SFD)、长度、帧控制字段、序列号、PAN ID、目的地址、源地址、有效载荷和帧校验序列(Frame check sequence)3。
3. Basic RF 的限制
  • Basic RF 不支持多跳和设备扫描。
  • 所有节点同级,只实现点对点传输。
  • 传输时仅等待信道空闲,不执行 802.15.4 CSMA-CA 要求的两次 CCA 检测。
  • 不重传数据。

4.Basic RF 操作环节

Basic  RF 操作依次包括启动,发送,接收三个环节

4-1启动

启动环节包括

  1. 初始化开发板的硬件
  2. 设置无线网络ID
  3. 设置无线通信的通信信道号
  4. 设置无线通信的接收和发送 模块地址
  5. 若有必要,设置无线通信的网络加密等级
定义位置

在 CC2530 Basic RF 的配置中,网络的结构体通常用于存储和初始化网络相关的参数。

找到图中的文件,可以看到其网络配置的结构体

其每个定义的意思和作用

typedef struct {uint16 myAddr;          //本机地址  范围0x0000~0xffff ,作为识别本模块的地址uint16 panId;            //网络ID   范围 0x0000~0xffff , 接收和发送模块此参数必须一致uint8 channel;            //通信信道号 范围 11~26 , 接收和发送模块此参数必须一致uint8 ackRequest;        //应答信号#ifdef SECURITY_CCM        //是否加密,预定义时取消了加密uint8* securityKey;        //密钥  两方必须一致uint8* securityNonce; //IV/Nonce值  //各一个随机数即可 (它会发送给对方在配合密钥即可解密)#endif
} basicRfCfg_t;
初始文件实现的位置

在main函数中可以看到如下的几个定义它就是其上方的定义值

// Config basicRFbasicRfConfig.panId = PAN_ID;               //#define PAN_ID                0x2007basicRfConfig.channel = RF_CHANNEL;         //#define RF_CHANNEL                25      // 2.4 GHz RF channelbasicRfConfig.ackRequest = TRUE;            //#define TRUE 1
硬件初始化

在主函数中可以看到  ( halBoardInit(); )函数它是 对硬件IO的初始化  位置在  hal_board.c 文件中

发送函数(按键函数来解释其发送过程)

函数

static void appSwitch()        开关函数
{pTxData[0] = LIGHT_TOGGLE_CMD;    //要发送的数据basicRfConfig.myAddr = SWITCH_ADDR;    //本机地址if(basicRfInit(&basicRfConfig)==FAILED) {    //初始化RFHAL_ASSERT(FALSE);    //设置断言}// Keep Receiver off when not needed to save powerbasicRfReceiveOff();    //关闭接收模式// Main loopwhile (TRUE) {    //TRUE = 真if(halButtonPushed()==HAL_BUTTON_1){    //调用按键函数 判断是否按下basicRfSendPacket(LIGHT_ADDR, pTxData, APP_PAYLOAD_LENGTH);    //调用发送函数// Put MCU to sleep. It will wake up on joystick interrupthalIntOff();    //关闭中断halMcuSetLowPowerMode(HAL_MCU_LPM_3); // Will turn on global  //打开全局// interrupt enablehalIntOn();    //开启中断}}
}

接收函数(LED灯函数来解释其接收过程)
static void appLight()
{// Initialize BasicRFbasicRfConfig.myAddr = LIGHT_ADDR;    //本机地址if(basicRfInit(&basicRfConfig)==FAILED) {    初始化方法与发送环节一样HAL_ASSERT(FALSE);}basicRfReceiveOn();    //开启接收// Main loopwhile (TRUE) {    //一直循环while(!basicRfPacketIsReady());    //判断是否有数据if(basicRfReceive(pRxData, APP_PAYLOAD_LENGTH, NULL)>0) {//检查数据是否完整if(pRxData[0] == LIGHT_TOGGLE_CMD) {//处理数据halLedToggle(1);}}}
}

http://www.yayakq.cn/news/420201/

相关文章:

  • 无锡网络公司无锡网站制作一元云淘网站开发
  • 南昌网站开发模板某一网站seo策划方案
  • 哪个网站可以领手工活在家做wordpress+v4.1
  • dw网站建设字体颜色连江网站建设服务
  • 自助下单网站怎么做美食的网站
  • 网站建设合同补充协议怎么写做网站一般注意些什么
  • 做网站都需要什么贴吧容桂企业网站建设
  • 正规的网站制作哪家好全国中小企业服务平台
  • 空壳主体接入网站个人网站的建设目标
  • 苏州建设局网站传播型网站建设优势有哪些
  • 有什么设计网站网站设计需求书
  • 广州开发网站报价网站关键词推广优化
  • 桓台县城乡建设局网站WordPress与前端
  • 河北建设执业信息网站蔚县网站建设公司
  • 网站建设网站免费培训机构加盟店排行榜
  • 做货代在哪个网站找客源网站一次性链接怎么做的
  • 泰州专业做网站南宁市制作网站的公司
  • 如何做网站推广下拉刘贺稳14python 网站开发 sae
  • 网站定制页面调整至居中邢台信息港最新二手房出售信息
  • 自设计网站东莞建设局网站
  • 网站备案好弄吗成都设计公司工作室
  • 专门做排行的网站微信可以怎么创建账户网站
  • 深圳网站建设V芯ee8888e做网站需要商标注册吗
  • 杭州企业网站建设方案wordpress模板 论坛
  • 学做网站php房地产十大营销手段
  • 广东网站建设专业公司什么软件制作图片
  • 怎么把网站提交给搜索引擎免费广告制作软件
  • 加强政务门户网站建设wordpress怎么手动更新
  • 法语网站建站公司君哥摄影设计
  • 哪做网站比较好wordpress 交友模板