硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5685|回复: 7
收起左侧

[有问必答] V5-134_nRF24L01无线通信(V1.3)中,已经正确发送数据但返回值却是return MAX_RT;

[复制链接]

30

主题

90

回帖

180

积分

初级会员

积分
180
发表于 2015-7-24 12:50:37 | 显示全部楼层 |阅读模式
uint8_t nRF24L01_TxData(uint8_t *_pTxBuf)
{
    uint8_t ucState;
    uint32_t ulCount = 0;   

    /*CEÎaμí£¬½øèë′y»úÄ£ê½1*/
    nRF24L01_CE_0();

    /*D′êy¾Yμ½_pTxBuf×î′ó32¸ö×Ö½ú*/                        
    nRF24L01_WriteBuf(WR_TX_PLOAD, _pTxBuf, TX_PLOAD_WIDTH);

    /*CEÎa¸ß£¬_pTxBuf·Ç¿Õ£¬·¢Ëíêy¾Y°ü */   
    nRF24L01_CE_1();
         
    /*
      μè′y·¢Ëííê3éÖD¶Ï                           
         while(nRF24L01_IRQ_Read()!=0);
      Ñ¡ÔñÏÂÃæÕaÖÖ·½ê½¿éòÔóDD§·àÖ1·¢Ëíêy¾Y×èèûê±£¬ËàÔúÕa¸ö×′ì¬
    */
    while((nRF24L01_IRQ_Read() != 0) && (ulCount < 65535))
    {
        ulCount++;
    }
   
    if(ulCount >= 65535)
    {
        return 0;        
    }
   
    /* ¶áè¡×′쬼Ä′æÆ÷μÄÖμ */                              
    ucState = nRF24L01_ReadReg(STATUS);

    /*Çå3yTX_DS»òMAX_RTÖD¶Ï±êÖ¾*/                  
    nRF24L01_WriteReg(NRF_WRITE_REG+STATUS, ucState);     

    nRF24L01_WriteReg(FLUSH_TX,NOP);      /* Çå3yTX FIFO¼Ä′æÆ÷ */

     /*ÅD¶ÏÖD¶ÏààDí*/
    /* ′ïμ½×î′óÖØ·¢′Îêy */
    if(ucState & MAX_RT)                     
    {
        return MAX_RT;
    }
    /* ·¢Ëííê3é */
    else if(ucState & TX_DS)
    {
        return TX_DS;
    }
    /* ÆäËûÔ-òò·¢Ëíê§°ü */   
    else
    {
        return 0;               
    }
}
回复

使用道具 举报

30

主题

90

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2015-7-24 12:53:16 | 显示全部楼层
是在V5板子中实验的
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117542
QQ
发表于 2015-7-24 13:03:28 | 显示全部楼层
换个24l01试试。
回复

使用道具 举报

30

主题

90

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2015-7-24 13:54:05 | 显示全部楼层

回 eric2013 的帖子

eric2013:换个24l01试试。 (2015-07-24 13:03) 
换了个24L01了还是一样现象:(
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117542
QQ
发表于 2015-7-24 14:01:11 | 显示全部楼层

回 sss3s 的帖子

sss3s:换了个24L01了还是一样现象:( (2015-07-24 13:54) 
怎么测试的,两个V5开发板上面测试的,还是自己搞的板子上面测试的。
回复

使用道具 举报

30

主题

90

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2015-7-24 16:47:27 | 显示全部楼层
一个V5板,一个自己的板子。
V5板子用V5-134nRF24L01无线通信(V1.3)例子发送,发送的数据我的板子也接收到了。
但V5板在线读 nRF24L01_WriteReg(FLUSH_TX,NOP); 得到返回值为return MAX_RT;
我的板子也用了您的程序移植,仅做了些外部封装。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117542
QQ
发表于 2015-7-24 16:51:55 | 显示全部楼层

回 sss3s 的帖子

sss3s:一个V5板,一个自己的板子。
V5板子用V5-134nRF24L01无线通信(V1.3)例子发送,发送的数据我的板子也接收到了。
但V5板在线读 nRF24L01_WriteReg(FLUSH_TX,NOP); 得到返回值为return MAX_RT;
我的板子也用了您的程序移植,仅做了些外部封装。 (2015-07-24 16:47) 
这个是我以前调试V5板子上面的24L01程序时遇到的问题,看看能帮到你不。

https://forum.anfulai.cn/forum.php?mod=viewthread&tid=6892
回复

使用道具 举报

30

主题

90

回帖

180

积分

初级会员

积分
180
 楼主| 发表于 2015-7-24 17:00:51 | 显示全部楼层
找到原因了,是因为发送与接收不同步的原因。给您带来麻烦了,谢谢!
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-13 19:31 , Processed in 0.044786 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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