微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 最近在做nrf905 希望能找到正在做这的或做过这个的请教一些问题

最近在做nrf905 希望能找到正在做这的或做过这个的请教一些问题

时间:10-02 整理:3721RD 点击:
最近在做nrf905! 希望能找到正在做这的或做过这个的请教一些问题!

看来要上点实际的东西链接:http://pan.baidu.com/s/1mgtdraK 密码:w4ix

小编,我是个新手也在调试905,可以请教你怎么测905发一帧数据的时间吗

    您好! 能相互讨论下吗?我在用的时候发现了一个奇怪的现象,A发给B或B发给A都可以实现,但是A发给B,B收到后再发给A,A就收不到了,可以确定B确实发出去了,但A没有收到数据,地址和发送接收状态都没问题

不好意思 我不知道怎么测发一帧数据的时间  我也没测这个时间。 好像有个650us是转换模式需要的时间;

是不是程序的问题;A中的模式是否在发送后改为接收模式

不是这个原因,模式和地址都是正确的
while(1)
{
           SetTxMode();                                // Set Tx Mode
                     TxPacket();                        // Transmit Tx buffer data       
               SetRxMode();
         //=====================等待NRF905接收
           if (DR)                        // If recive data ready...
           RxPacket();                        // ... recive data
            if(RxBuf[0]==0x01)
                 {
                         RxBuf[0] =0;
                         LED1 = 0 ;
                Delay(1000);                                        // ...light led
             LED1 = 1 ;
                      Delay(500);                                        // ...light led       
            
             }
}

发送后面加一个延时 或等待发送完在进入接收模式;
你是怎么看写入905命令的   能把命令读出来么?

  我试过加延时,不过还是没用,我当时查了一下,模式转换只需要650US就可以了,所以在模式转换的函数里我加了个延时函数

至于读命令这个我还没有试过,应该是可以读的,因为有读配置寄存器这个地址,不过一般都是写配置寄存器

在发送数据后加个延时,等待数据发送完后再改为接收模式;650us是模式转换时用的延时

恩恩我试试读配置寄存器,我的先好使了 后来又用时不知道那里出问题了正在调;快给我蛋疼死了

   这种方式我也尝试过,不过无论延长多久结果都是接收不到,现在就是有点无语,程序又找不出啥毛病

完成一次传输后再把模块初始化重新开始  你试试这种笨方法

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top