智能车制作

标题: 用NRF24L01的兄弟们一起讨论下。 [打印本页]

作者: qinlu123    时间: 2013-3-13 18:34
标题: 用NRF24L01的兄弟们一起讨论下。
最近捣鼓NRF快崩溃了,我用K60发128收根本不能通信,K60的程序是野火的,128的程序是网上找的还有我移植的反正很多版本没有一个能收到K60发来的数据的。要说速度不匹配我用俩128收发也白搭,因为就一个K60没法测试俩K60收发。要说NRF坏了吧还可以往寄存器里读写数据,要说我写的程序有问题这很正常但是还有很多其他版本啊。我真的跪了,用NRF真是一场噩梦。

作者: 1006110218    时间: 2013-3-13 19:14
你调试的时候先把自动重发关掉,你去判断发送标志位能不能置位!
作者: qinlu123    时间: 2013-3-13 19:46
1006110218 发表于 2013-3-13 19:14
你调试的时候先把自动重发关掉,你去判断发送标志位能不能置位!

我放弃了兄弟,我不用它了。

作者: huayuc19    时间: 2013-3-13 19:48
投入蓝牙的怀抱吧。。。。。。我也给无线给跪了!
作者: 1006110218    时间: 2013-3-13 21:13
qinlu123 发表于 2013-3-13 19:46
我放弃了兄弟,我不用它了。

呵呵呵,我调试将近1星期才好使的!也差点给24L01跪了!
作者: 机遇    时间: 2013-3-13 21:46
我移植的是野火的程序,xs128程序卡在IRQ这 因为IRQ要用xs128的外部中断,所以我没用IRQ 直接用查询标志位方法 来接受数据的,因为我只要XS128接受数据就行了,所以XS128发送程序我没调试, 还是XS128硬件SPI好像很难调NRF24L01,我移植网上的软件SPI;
作者: qinlu123    时间: 2013-3-14 07:48
机遇 发表于 2013-3-13 21:46
我移植的是野火的程序,xs128程序卡在IRQ这 因为IRQ要用xs128的外部中断,所以我没用IRQ 直接用查询标志位方 ...

我用硬件SPI也白搭,我移植了很多程序最多可以读写下寄存器就是野火的那个check函数可以通过,其他啥也干不了了。能不能分享下程序啊。

作者: 机遇    时间: 2013-3-14 11:28
qinlu123 发表于 2013-3-14 07:48
我用硬件SPI也白搭,我移植了很多程序最多可以读写下寄存器就是野火的那个check函数可以通过,其他啥也干 ...

[attach]42001[/attach]

[attach]42001[/attach]



作者: qinlu123    时间: 2013-3-14 15:59
机遇 发表于 2013-3-14 11:28

兄弟我不得不跪了,用你的程序收野火的程序发依然白搭我放弃了。

作者: 机遇    时间: 2013-3-14 16:43
qinlu123 发表于 2013-3-14 15:59
兄弟我不得不跪了,用你的程序收野火的程序发依然白搭我放弃了。

K60  /******************** (C) COPYRIGHT 2011 野火嵌入式开发工作室 ********************
* 文件名       :main.c
* 描述         :SD卡带文件系统实验
*
* 实验平台     :野火kinetis开发板
* 库版本       :
* 嵌入系统     :
*
* 作者         :野火嵌入式开发工作室
* 淘宝店       :http://firestm32.taobao.com
* 技术支持论坛 :http://www.ourdev.cn/bbs/bbs_list.jsp?bbs_id=1008
**********************************************************************************/

#include "common.h"
#include "include.h"

void main(void)
{
    volatile u32 i;
    u8 status;    //用于判断接收/发送状态
    u8 txbuf[32]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31};     //发送缓冲

    NRF_Init();

    while(1)
    {
        //等待发送
        printf("\r\n ");
        
        NRF_TX_Mode();
        
        /*开始发送数据*/
        status = NRF_Tx_Dat(txbuf,MAX_ONCE_TX_NUM);
        
        /*判断发送状态*/  
        if(status& TX_DS)
        {
            printf("\r\n 主机端 接收到 从机端 的应答信号,发送成功! \r\n");   
        }
        else if(status & MAX_RT)
        {
            printf("\r\n 主机端 没接收到应答信号,发送次数超过限定值,发送失败。 \r\n");
        }
        else
        {
            printf("\r\n 未知原因导致发送失败。 \r\n");        
        }
    }
}



作者: qinlu123    时间: 2013-3-14 16:50
机遇 发表于 2013-3-14 16:43
K60  /******************** (C) COPYRIGHT 2011 野火嵌入式开发工作室 ********************
* 文件名 ...

就是这个啊。

作者: 机遇    时间: 2013-3-14 17:04
qinlu123 发表于 2013-3-14 16:50
就是这个啊。

{:soso_e113:}那没办法了

作者: eagle521    时间: 2013-3-21 17:13
http://www.znczz.com/forum.php?mod=viewthread&tid=120799&extra=
试一试这个

作者: ジ斌凍叁尺セ    时间: 2013-3-25 21:52
1006110218 发表于 2013-3-13 19:14
你调试的时候先把自动重发关掉,你去判断发送标志位能不能置位!

兄弟,能分享下X128收发程序吗,搞这个要跪了,没啥资料

作者: 凌轩翼    时间: 2016-1-28 15:24
eagle521 发表于 2013-3-21 17:13
http://www.znczz.com/forum.php?mod=viewthread&tid=120799&extra=
试一试这个

你的可以全双工吗?





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2