搜索
bottom↓
回复: 4

有NRF24L01程序的时序图,帮帮忙分析下哪里出问题了!通信不了

[复制链接]

出0入0汤圆

发表于 2013-5-22 12:02:07 | 显示全部楼层 |阅读模式
本帖最后由 CCALM 于 2013-5-22 13:20 编辑

下面是发送和接收的时序图
1

2

3


下面是接收时序
1

2

3





真的看不出哪里出问题了,不知道是发送问题还是接收问题!

接收的程序STATUS读出来的值使0E,FIFOSTATUS的值使11,到底是什么情况??

下面贴出发送主函数:
  1. int main()
  2. {
  3.         char a,b;
  4.        
  5.         GPIO_INIT();           //GPIO初始化               
  6.         SPI1_INIT();                //SPI初始化
  7.         NRF24L01_INIT();        //NRF初始化
  8.                        
  9.         while(1)
  10.         {
  11.                 GPIO_SetBits(GPIOC ,GPIO_Pin_8);                         ////LED
  12.                 SetTX_Mode();   //设置为发送模式
  13.                 NRF_TxPacket(TxBuf,32);//发送数据
  14.                 a=NRF_Read_Reg(STATUS);//读取STATUS寄存器值
  15.                 b=NRF_Read_Reg(FIFO_STATUS);//读取FIFO_STATUS寄存器
  16.                 if(a==0x2e)                         //a=0x2e&&b=0x11说明发送数据成功
  17.                 GPIO_WriteBit(GPIOC,GPIO_Pin_6,0);                //检查并发送数据,发送完LED亮
  18.                 else GPIO_WriteBit(GPIOC,GPIO_Pin_6,1);         
  19.                 if(!(GPIOC->IDR & GPIO_Pin_11))  NRF_IRQ();                                  //清中断

  20.                 GPIO_WriteBit(GPIOC,GPIO_Pin_7,NRF24L01_Check());                 //LED显示NRF存在
  21.                 d();
  22.                 GPIO_ResetBits(GPIOC,GPIO_Pin_8);
  23.                 d();       
  24.         }       
  25. }
复制代码
接收程序主函数:
  1. int main()
  2. {
  3.         int i;
  4.         char a,b;
  5.         GPIO_INIT();    //GPIO初始化
  6.         USART_Config();//串口初始化
  7.         SPI1_INIT();//SPI初始化
  8.         NRF_INIT();        //NRF初始化

  9.         GPIO_WriteBit(GPIOD,GPIO_Pin_6,0);

  10.         while(1)
  11.         {
  12.                
  13.                 GPIO_SetBits(GPIOD,GPIO_Pin_5);
  14.                 SetRX_Mode();//接收模式
  15.                                
  16.                 if(NRF_RxPacket(RxBuf,32))        接收数据
  17.                 {                                 
  18.                         GPIO_WriteBit(GPIOD,GPIO_Pin_6,1);        //接收导数据LED亮                       
  19.                    for(i=0;i<32;i++)
  20.                         USART1_Putc(RxBuf[i]);//把接收到的数据发送到串口
  21.                 }               
  22.                 else
  23.                 {        a=NRF_Read_Reg(STATUS);//读取状态字
  24.                         b=NRF_Read_Reg(FIFO_STATUS);
  25.                         GPIO_WriteBit(GPIOD,GPIO_Pin_6,0);
  26.                         USART1_Putc(a);
  27.                         USART1_Putc(b);
  28.                 }               

  29.                 if(!(GPIOC->IDR & GPIO_Pin_11))  NRF_IRQ();//清中断
  30.                
  31.                 GPIO_WriteBit(GPIOD,GPIO_Pin_7,NRF_Check());               
  32.                 d();
  33.                 GPIO_ResetBits(GPIOD,GPIO_Pin_5);
  34.                 d();                                       
  35.         }       
  36. }
复制代码
!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2013-5-22 13:10:39 | 显示全部楼层
等待大神...

出0入0汤圆

 楼主| 发表于 2013-5-22 13:10:56 | 显示全部楼层

出0入0汤圆

 楼主| 发表于 2013-5-22 13:19:04 | 显示全部楼层
SOSOSOSOSOOSOSOSOSOSOS

出0入0汤圆

 楼主| 发表于 2013-5-22 13:19:28 | 显示全部楼层
要崩溃了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-23 23:36

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

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