常驻嘉宾
- 积分
- 3395
- 威望
- 2261
- 贡献
- 24
- 兑换币
- 1453
- 注册时间
- 2012-11-24
- 在线时间
- 556 小时
- 毕业学校
- 江苏科技大学
|
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状态寄存器始终返回接收缓存为空。。。
|
|