8730|6

4

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CC1101模块接收不到数据的问题 [复制链接]

发送端使用CC1101+MSP430发送数据
while (!(GDO0));
// Wait for GDO0 to be cleared -> end of packet
while (GDO0);
//halSpiStrobe(CCxxx0_SFTX);这条指令 能运行通过,没有卡住,说明发送成功?(不知道对不对)

然后接收端使用51单片机+CC1101  中间通过光耦连接解决5-3.3V的电平问题  
然后接收端
  1. uint halRfReceivePacket(uchar *rxBuffer, uchar *length)
  2. {
  3.     uchar status[2];
  4.     uchar packetLength;
  5.     uchar i=(*length)*4;  // 具体多少要根据datarate和length来决定
  6.     halSpiStrobe(CCxxx0_SRX);                //进入接收状态
  7.     //delay(5);
  8.     //while (!GDO1);
  9.     //while (GDO1);
  10.     delay(20);
  11.     while (GDO0)
  12.     {
  13.         delay(20);
  14.         --i;
  15.         if(i<1)
  16.             return 0;             
  17.     }         
  18.     if ((halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO)) //如果接的字节数不为0                    SPI读状态寄存输出当前值
  19.     {
  20.        
  21.                 LED_2=0;
  22.         packetLength = halSpiReadReg(CCxxx0_RXFIFO);//读出第一个字节,此字节为该帧数据长度
  23.         if (packetLength <= *length)                 //如果所要的有效数据长度小于等于接收到的数据包的长度
  24.         {
  25.             halSpiReadBurstReg(CCxxx0_RXFIFO, rxBuffer, packetLength); //读出所有接收到的数据
  26.             *length = packetLength;                                //把接收数据长度的修改为当前数据的长度
  27.             
  28.             // Read the 2 appended status bytes (status[0] = RSSI, status[1] = LQI)
  29.             halSpiReadBurstReg(CCxxx0_RXFIFO, status, 2);         //读出CRC校验位
  30.             halSpiStrobe(CCxxx0_SFRX);                //清洗接收缓冲区
  31.             return (status[1] & CRC_OK);                        //如果校验成功返回接收成功
  32.         }
  33.         else
  34.         {
  35.             *length = packetLength;
  36.             halSpiStrobe(CCxxx0_SFRX);                //清洗接收缓冲区
  37.             return 0;
  38.         }
  39.     }
  40.                
  41.     else
  42.         return 0;
  43. }
复制代码
这个函数中接收到的字节数一直为0      
小白。求大神知道

最新回复

  详情 回复 发表于 2016-10-10 10:17
 
点赞 关注

回复
举报

565

帖子

5

TA的资源

纯净的硅(中级)

沙发
 
参照我之前的帖子吧,里边有例程

点评

例程有很多,但就是找不出问题来。  详情 回复 发表于 2014-11-23 11:54
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
平行电 发表于 2014-11-22 23:12
参照我之前的帖子吧,里边有例程

例程有很多,但就是找不出问题来。

点评

是不是引脚不对,之前我也是引脚没选对,再就是中断的高地位电平,你拿示波器测试一下。再来就是两个的地址了,地址要配合好。还有一种说法是靠的太近也收不到。  详情 回复 发表于 2014-11-23 21:08
 
 
 

回复

565

帖子

5

TA的资源

纯净的硅(中级)

4
 
二二二二二傻丶 发表于 2014-11-23 11:54
例程有很多,但就是找不出问题来。

是不是引脚不对,之前我也是引脚没选对,再就是中断的高地位电平,你拿示波器测试一下。再来就是两个的地址了,地址要配合好。还有一种说法是靠的太近也收不到。
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

5
 
平行电 发表于 2014-11-23 21:08
是不是引脚不对,之前我也是引脚没选对,再就是中断的高地位电平,你拿示波器测试一下。再来就是两个的地 ...

太感谢了,之前CC1101发送成功了,但是一直接收不到同步字,调了一天都没找到问题,原来就是因为2个模块距离太近了,离远了之后立马收到了。

点评

去年的帖子还有人回,也是难得  详情 回复 发表于 2015-8-25 20:32
 
 
 

回复

565

帖子

5

TA的资源

纯净的硅(中级)

6
 
点颗烟取暖 发表于 2015-8-22 22:27
太感谢了,之前CC1101发送成功了,但是一直接收不到同步字,调了一天都没找到问题,原来就是因为2个模块 ...

去年的帖子还有人回,也是难得
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

7
 
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表