CC1101之包处理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CC1101之包处理

包处理 发送的数据 FIFO:长度(可选)+地址(可选)+有用数据 接收到的数据FIFO:长度(可选)+地址(可选)+有用数据,并且长度和地址不会被丢弃! 1?当采用固定包长度时,包的第一字节是地址,而不是包的长度(包的长度由PKTLEN决定); 2?当采用可变包长度时,包的第一字节才是包的长度,第2个字节才是地址。 如果是设置PKTCTRL1=0x04 则数据包还有两个状态位,可以通过函数halSpiReadBurstReg(CCxxx0_RXFIFO, status, 2); //读出CRC校验位和RSSI的值! 数据包长度(Length field)定义为有效载荷数据,不包括长度字节本身、CRC字节、RSSI字节,即只是有效载荷!!! //***************************************************************************************** void halRfSendPacket(uint8 *txBuffer, uint8 size) { halSpiStrobe(CCxxx0_SIDLE);//首先执行SIDLE滤波命令强制芯片进入空闲状态,//wwt delayms_rf(2);//发送数据后延迟一会,等待数据全部发送出去 halSpiStrobe(CCxxx0_SFTX); //清空TX FIFO缓冲区内容。 halSpiWriteReg(CCxxx0_TXFIFO, size); //写入缓冲地址、发送的数据个数 halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size); //写入缓冲地址、发送的数据 //MARCSTATE_Flag=halSpiReadReg(CCxxx0_MARCSTATE);//测试,读状态机状态 //while(MARCSTATE_Flag==0x01);//=0x01(IDLE模式),判断是否退出IDLE模式,附加 P2IE = ~BIT6; //_DINT();//禁止中断 //P2.3禁止中断 halSpiStrobe(CCxxx0_STX); //进入发送模式,发送数据 //由于模式寄存器已配置,发送结束后会继续保持在接收模式下 2012-2-15 //发送不使用中断信号GDO0,接收使用中断信号GDO0 while (!GDO0);// Wait for GDO0 to be set - sync transmitted while (GDO0); // Wait for GDO0 to be cleared - end of packet P2IFG=~BIT6;//软件清零GDO0,发送数据不产生中断 P2IE |= BIT6;//使能总中断_EINT(); //P2.3允许中断 delayms_rf(2);//发送数据后延迟一会,等待数据全部发送出去 halSpiStrobe(CCxxx0_SIDLE);//首先执行SIDLE滤波命令强制芯片进入空闲状态,//wwt halSpiStrobe(CCxxx0_SRX); //再次进入接收状态 } //***************************************************************************************** //函数名:uint8 halRfReceivePacket(uint8 *rxBuffer, uint8 *length) //输入: //输出:0:错误 // 1:正确 // 功能描述:接收数据包 // 当需要接收数据时, 首先将CC1100配置成接收状态, // 一旦收到符合要求的数据, CC1100就会把收到的数据存入接收FIFO , // 同时引脚GDO0 会有一个脉冲出现, 这个脉冲可以用来通知 // MCU 有一个数据包已被CC1100 收到, MCU 就可以通过SPI口将CC1100 收到的数据取出来。 // GDO0_____|-----|______ //***************************************************************************************** uint8 halRfReceivePacket(uint8 *rxBuffer, uint8 length) { uint8 stat

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档