智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1424|回复: 1
打印 上一主题 下一主题

24l01只能接收一次

[复制链接]

22

主题

108

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1068
威望
519
贡献
299
兑换币
308
注册时间
2014-10-15
在线时间
125 小时
毕业学校
zucc
跳转到指定楼层
1#
发表于 2015-3-17 15:03:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的24l01每接收完一次。要重新初始化接收初始化函数 才能接收第二次,这是为什么呢,有大神能讲解一下吗,以下是接收初始化函数
uint8 LPLD_Nrf24L01_RxModeInit(void)
{
  uint8 Temp;
  
  NRF24L01_CE_L;
  // 芯片上电复位后
  // 分别读取NRF24L01_RX_ADDR_P0、NRF24L01_RX_ADDR_P1、NRF24L01_TX_ADDR的值
  // 查看以下数据
  // NRF24L01_RX_ADDR_P0的复位值是否为0xE7E7E7E7
  // NRF24L01_RX_ADDR_P1的复位值是否为0xC2C2C2C2
  // NRF24L01_TX_ADDR的复位值是否为0xE7E7E7E7
  // 如果正确证明SPI读写没有问题,反之亦然
  LPLD_Nrf24L01_CheckID();

  Temp=LPLD_Nrf24L01_WriteBuf(NRF24L01_WRITE_REG + NRF24L01_RX_ADDR_P0, RX_ADDRESS, NRF24L01_RX_ADR_LEN);
  Temp=LPLD_Nrf24L01_WriteReg(NRF24L01_WRITE_REG + NRF24L01_RX_PW_P0, NRF24L01_PLOAD_LEN);
  
  Temp=LPLD_Nrf24L01_WriteReg(NRF24L01_WRITE_REG + NRF24L01_EN_AA, 0x01);      //频道0自动,ACK应答允许      
  Temp=LPLD_Nrf24L01_WriteReg(NRF24L01_WRITE_REG + NRF24L01_EN_RXADDR, 0x01);  //允许接收地址只有频道0
  Temp=LPLD_Nrf24L01_WriteReg(NRF24L01_WRITE_REG + NRF24L01_SETUP_RETR, 0x1a); // 500us + 86us, 10 retrans...        
  Temp=LPLD_Nrf24L01_WriteReg(NRF24L01_WRITE_REG + NRF24L01_RF_CH, 40);        //设置信道工作为2.4GHZ,收发必须一致  
  Temp=LPLD_Nrf24L01_WriteReg(NRF24L01_WRITE_REG + NRF24L01_RF_SETUP, 0x0F);   //设置发射速率为1MHZ,发射功率为最大值0dB
  Temp=LPLD_Nrf24L01_WriteReg(NRF24L01_WRITE_REG + NRF24L01_CONFIG, 0x0F);     //使能CRC校验,使能RX,并且上电
  
  NRF24L01_CE_H;  
  
  Nrf24L01_DelayUs(2000);//等待Nrf24L01接收模式初始化完毕
  
  return Temp;
}
回复

使用道具 举报

0

主题

28

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
威望
183
贡献
102
兑换币
112
注册时间
2015-4-8
在线时间
45 小时
毕业学校
河南工业大学
2#
发表于 2015-6-24 01:14:51 | 只看该作者
这不是LPLD的例程吗???求程序啊。24L01用LPLD的例程老是收不到程序,进不了接收程序的中断
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-10-1 21:25 , Processed in 0.208449 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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