野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 25154|回复: 17

nrf24l01谁用过野火的历程

[复制链接]
发表于 2016-8-10 09:54:28 | 显示全部楼层 |阅读模式
3火花
一到检测连接状态就失败
如果把3.3和GND拔掉  每次接触GND都会再执行一步  但是还是错误
int main(void)                  
{   
  SPI_NRF_Init();
  USART1_Config();

  printf("\r\n 这是一个 NRF24L01 无线传输实验 \r\n");
  printf("\r\n 这是无线传输 主机端 的反馈信息\r\n");
  printf("\r\n   正在检测NRF与MCU是否正常连接。。。\r\n");

  status = NRF_Check();

  if(status == SUCCESS)          
    printf("\r\n      NRF与MCU连接成功!\r\n");  
  else          
    printf("\r\n  NRF与MCU连接失败,请重新检查接线。\r\n");

  while(1)
  {
    printf("\r\n 主机端 进入自应答发送模式\r\n");
    NRF_TX_Mode();

    /*开始发送数据*/       
    status = NRF_Tx_Dat(txbuf);          

    /*判断发送状态*/
    switch(status)
    {
      case MAX_RT:
        printf("\r\n 主机端 没接收到应答信号,发送次数超过限定值,发送失败。 \r\n");
      break;

      case ERROR:
        printf("\r\n 未知原因导致发送失败。 \r\n");
      break;

      case TX_DS:
        printf("\r\n 主机端 接收到 从机端 的应答信号,发送成功! \r\n");                        
      break;                                                                 
    }                                  

    printf("\r\n 主机端 进入接收模式。 \r\n");       
    NRF_RX_Mode();

    /*等待接收数据*/
    status = NRF_Rx_Dat(rxbuf);

    /*判断接收状态*/
    switch(status)
    {
      case RX_DR:
      for(i=0;i<4;i++)
      {                                       
        printf("\r\n 主机端 接收到 从机端 发送的数据为:%d \r\n",rxbuf[i]);
        txbuf[i] =rxbuf[i];
      }
      break;

      case ERROR:
        printf("\r\n 主机端 接收出错。   \r\n");
      break;                 
    }
  }// while(1)


回复

使用道具 举报

发表于 2016-8-10 10:16:14 | 显示全部楼层
可以用,没有问题
回复

使用道具 举报

 楼主| 发表于 2016-8-10 10:18:59 | 显示全部楼层
鲁合乐 发表于 2016-8-10 10:16
可以用,没有问题

每次都是到检测那个地方就出问题 检测不到啊   
回复

使用道具 举报

发表于 2016-8-10 10:22:47 | 显示全部楼层
会不会是初始化的时候io口错了
回复

使用道具 举报

发表于 2016-8-10 10:33:29 | 显示全部楼层
啦啦啦 发表于 2016-8-10 10:18
每次都是到检测那个地方就出问题 检测不到啊

要用你开发板配套的程序
回复

使用道具 举报

发表于 2016-8-10 10:42:16 | 显示全部楼层
线没插对吧,重新仔细检查一下,一开始我就插错了
回复

使用道具 举报

 楼主| 发表于 2016-8-10 10:54:37 | 显示全部楼层
张宙辕 发表于 2016-8-10 10:42
线没插对吧,重新仔细检查一下,一开始我就插错了

我用的德飞莱的板子  有一个固定的接口  配置IO都改过了  
回复

使用道具 举报

发表于 2016-8-10 11:17:01 | 显示全部楼层
这函数改了吗
IVTV]N(~E(D839F_T%~`(KC.png
回复

使用道具 举报

 楼主| 发表于 2016-8-10 11:27:50 | 显示全部楼层

#define NRF_CE_LOW()              GPIO_ResetBits(GPIOG,GPIO_Pin_6)                       
改的这里  不对吗?
回复

使用道具 举报

 楼主| 发表于 2016-8-10 11:29:34 | 显示全部楼层
张宙辕 发表于 2016-8-10 10:42
线没插对吧,重新仔细检查一下,一开始我就插错了

是对的 没有问题
回复

使用道具 举报

发表于 2016-8-10 11:45:08 | 显示全部楼层
啦啦啦 发表于 2016-8-10 11:27
#define NRF_CE_LOW()              GPIO_ResetBits(GPIOG,GPIO_Pin_6)                       
改的这里  不对吗?

没事,你记得改了就行,我有一次改了引脚这个片选就忘记该了
回复

使用道具 举报

 楼主| 发表于 2016-8-10 12:00:19 | 显示全部楼层
张宙辕 发表于 2016-8-10 10:42
线没插对吧,重新仔细检查一下,一开始我就插错了

你插线的时候是8个 然后按照原理图弄得嘛?
回复

使用道具 举报

 楼主| 发表于 2016-8-10 12:01:49 | 显示全部楼层
saber幻 发表于 2016-8-10 11:45
没事,你记得改了就行,我有一次改了引脚这个片选就忘记该了

改了也没有用
nRF24L01检测出错!请确认nRF24L01的连接!
是连线不对吗?  我连了8个
回复

使用道具 举报

发表于 2016-8-10 12:20:44 | 显示全部楼层
啦啦啦 发表于 2016-8-10 12:00
你插线的时候是8个 然后按照原理图弄得嘛?

连的是8个线啊
回复

使用道具 举报

发表于 2016-8-10 15:34:33 | 显示全部楼层
张宙辕 发表于 2016-8-10 10:42
线没插对吧,重新仔细检查一下,一开始我就插错了

哎呦,看到你和群里一样的ID
回复

使用道具 举报

发表于 2016-8-10 15:35:06 | 显示全部楼层
看着原理图来连线没错啊,我做好了
回复

使用道具 举报

发表于 2016-8-10 15:38:44 | 显示全部楼层
康锦 发表于 2016-8-10 15:34
哎呦,看到你和群里一样的ID

回复

使用道具 举报

发表于 2016-8-10 19:33:10 | 显示全部楼层
程序没问题的,你检查下硬件连接
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-22 19:59 , Processed in 0.080132 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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