智能车制作

标题: 有玩过NRF24L01的吗?跪求帮忙看下寄存器配置哪里有问题、、、 [打印本页]

作者: Shadows    时间: 2014-2-23 16:33
标题: 有玩过NRF24L01的吗?跪求帮忙看下寄存器配置哪里有问题、、、
void NRFinit_send_set()//发射端寄存器配置
{
  write_NRF_register(0x01,0x00);//自动应答功能全通道禁止
  write_NRF_register(0x02,0x01);//接收通道0允许,其他屏蔽
  write_NRF_register(0x03,0x03);//数据通道地址宽度5字节
  write_NRF_register(0x04,0x00);//禁止自动重发
  write_NRF_register(0x05,0x02);//工作通道频率默认
  write_NRF_register(0x06,0x0f);//数据传输速率2Mbps,发射功率默认,低噪声放大器增益
  //0x07为状态寄存器
  //0x08为发送检测寄存器,只读
  //0x09为载波检测,只读
  write_NRF_registers(0x0a,channel0_address,5);//通道0接收地址修改
  //0x0b,0x0c,0x0d,0x0e,0x0f,省略
  write_NRF_registers(0x10,channel0_address,5);//发送地址修改
  write_NRF_register(0x11,0x3f);//接收通道0有效数据宽度设置32位
  //0x12,0x13,0x14,0x15,0x16,省略
  //0x17为FIFO状态寄存器
  write_NRF_register(0x00,0x72);//全中断屏蔽,CRC校验禁止,上电模式,发射模式
}
发送部分多次发送后,0x17FIFO状态寄存器会返回发送缓存已满,我给了命令进行清空

void NRFinit_receive_set()//接收端寄存器配置
{
  write_NRF_register(0x01,0x00);//自动应答功能全通道禁止
  write_NRF_register(0x02,0x01);//接收通道1允许,其他屏蔽
  write_NRF_register(0x03,0x03);//数据通道地址宽度5字节
  write_NRF_register(0x04,0x00);//禁止自动重发
  write_NRF_register(0x05,0x02);//工作通道频率默认
  write_NRF_register(0x06,0x0f);//数据传输速率2Mbps,发射功率默认,低噪声放大器增益
  //0x07为状态寄存器
  //0x08为发送检测寄存器,只读
  //0x09为载波检测,只读
  write_NRF_registers(0x0a,channel0_address,5);//通道0接收地址修改
  //0x0b,0x0c,0x0d,0x0e,0x0f,省略
  write_NRF_registers(0x10,channel0_address,5);//发送地址修改
  write_NRF_register(0x11,0x3f);//接收通道0有效数据宽度设置32位
  //0x12,0x13,0x14,0x15,0x16,省略
  //0x17为FIFO状态寄存器
  write_NRF_register(0x00,0x73);//全中断屏蔽,CRC校验禁止,上电模式,接收模式
  NRF_CE_H;//接收模式
}
接收部分给FIFO状态寄存器始终返回接收缓存为空。。。



作者: 简单丹    时间: 2014-2-23 18:29
不清楚帮顶
作者: Shadows    时间: 2014-2-23 19:44
简单丹 发表于 2014-2-23 18:29
不清楚帮顶

谢谢。。。。。。

作者: 景胜归来    时间: 2014-2-23 20:20
帮顶




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