2.4G无线模块NRF2401

本文介绍了2.4G无线模块NRF2401,它工作在2.4~2.5GHz频段,支持自动重发和6个数据通道,最大速度2Mbits。通过SPI接口与MCU通信,用于无线通讯。主要讨论了模块的PCB管脚、主机与从机的区别、应用流程以及注意事项。在应用中,主机通常设置为发送模式,从机为接收模式,初始化和配置过程基本相同。
摘要由CSDN通过智能技术生成

RF24L01+,是工作在2.4~2.5GHz 频段的,具备自动重发功能,6 个数据传输通道,最大无线传输速率为2Mbits。MCU 可与该芯片通过SPI 接口访问芯片的寄存器进行配置,达到控制模块、通过该模块实现无线通讯的目的。            具体细节参考<<野火STM32--2.4G无线传输>>

优点:不需要建立连接就可以进行收发

PCB管脚

其中各个接口作用如下

在应用中我们需要一对收发,也就是一个主机和一个从机。主机和从机的驱动部分是一样的(配置文件SPI_NRF.c 文件相同),区别是main函数中调用的模式不同,主机一般是发送模式NRF_TX_Mode();,而从机采用的是接收模式 NRF_RX_Mode();

应用的基本流程

注意事项:

(1)首先要检查接线,一般配置的是SPI1,然后要对应程序里面的配置来接线

SPI1
SCK = PA5      MISO = PA6    MOSI = PA7
CE = PA4        CSN =PC4      IRQ = PC5

  后两个是作为普通IO口,任意管脚均可

从机部分:

(1)SPI_NRF_Init();     //初始化SPI接口

(2)NRF_RX_Mode();  // 设置为接收模式

(3)while循环里等待接收,判断接收状态,并进行接收

 

#include 
经过实测可用 稳定性高 最小1个字节 最多31个字节 发送端发送几个数据 接收端就接收几个数据; 例如: 发送1个数据0x68 接收端就接收1个数据0x68 发送2个数据 0x66 0x88 接收端就接收2个数据 0x66 0x88 推荐使用STC下载软件自带的串口调试助手 因为这个串口调试助手既可以发送十六进制数据 也可以发送字符数据 这样 可以发送英文 #include<reg51 h> #include<intrins h> #define uchar unsigned char #define uint unsigned int NRF24L01寄存器操作命令 #define READ REG 0x00 读配置寄存器 低5位为寄存器地址 #define WRITE REG 0x20 写配置寄存器 低5位为寄存器地址 #define RD RX PLOAD 0x61 读RX有效数据 1 32字节 #define WR TX PLOAD 0xA0 写TX有效数据 1 32字节 #define FLUSH TX 0xE1 清除TX FIFO寄存器 发射模式下用 #define FLUSH RX 0xE2 清除RX FIFO寄存器 接收模式下用 #define REUSE TX PL 0xE3 重新使用上一包数据 CE为高 数据包被不断发送 #define NOP 0xFF 空操作 可以用来读状态寄存器 NRF24L01寄存器地址 #define CONFIG 0x00 配置寄存器地址 #define EN AA 0x01 使能自动应答功能 #define EN RXADDR 0x02 接收地址允许 #define SETUP AW 0x03 设置地址宽度 所有数据通道 #define SETUP RETR 0x04 建立自动重发 #define RF CH 0x05 RF通道">经过实测可用 稳定性高 最小1个字节 最多31个字节 发送端发送几个数据 接收端就接收几个数据; 例如: 发送1个数据0x68 接收端就接收1个数据0x68 发送2个数据 0x66 0x88 接收端就接收2个数据 0x66 0x88 推荐使用STC下载软 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值