搜索
bottom↓
回复: 1

cc1100接收数据发现 把其他缓冲区也修改掉了,请问个位大大与遇到这种问题没

[复制链接]

出0入4汤圆

发表于 2009-9-8 08:49:28 | 显示全部楼层 |阅读模式
POWER_UP_RESET_CC1100();
halRfWriteRfSettings();          //配置CC1100的寄存器
halSpiWriteBurstReg(CC1100_PATABLE, PaTabel, 8);//发射功率设置

ab = 1;

while (1)
      {
          if(halSpiReadStatus(CC1100_MARCSTATE) != 0x0D)  halSpiStrobe(CC1100_SRX);                //进入接收状态


          if((halSpiReadStatus(CC1100_RXBYTES) & BYTES_IN_RXFIFO)) //如果接的字节数不为0
          {
              packetLength = halSpiReadReg(CC1100_RXFIFO);//读出第一个字节,此字节为该帧数据长度
              halSpiReadBurstReg(CC1100_RXFIFO, rxBuffer_0, packetLength); //读出所有接收到的数据
              halSpiStrobe(CC1100_SFRX);                //清洗接收缓冲区
          }
          if(s_led)
          {
              s_led = 0;
              if(packetLength)
              {
                 LED1 = 1;
                 packetLength = 0;
              }  
              else   
              {   
                 LED1 = 0;
              }
          }
          if(ab)
          {
            ab = 0;
            for(i=0; i<40; i++)
            rx_x = i*6;
          }
          PORTD = rx_x[i++];
          if(i==40)  i=0;  
           
      };
}

这里的 rx_x 在不接受数据下是正常的,一接受数据就乱了。

出0入0汤圆

发表于 2009-10-24 12:50:25 | 显示全部楼层
你没有判断CRC校验啊,而且CC1100经常会莫名其妙的收到一些数据且能通过它自身的CRC校验,所以在你接收点数据里面要加入自己的校验,或者你可以判断接收点数据有没有超出你你发送数据的字节数都可以。而且每次读出数据后要重新设定为接收模式。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-4 04:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表