·NRF24L01 2.4G模块一对一使用
一 基础知识:
使用到的器材:两个单片机,我用的是stm32f103c8t6;两个stlink,两个2.4g模块,一个或者两个串口
1.首先 图长这个样子。最少是两个使用,目前我也只是到了用两个的,一个负责发送数,一个据负责接收数据。
2.连接大概是这样
3.引脚图
通过数据手册可以知道这个是用SPI通讯协议的(手册找淘宝商家都会给的(狗头保命))
其他的东西别的博客讲的很清楚了我就不过多赘述了。
二 cubemx配置
以发送端为例子(接收端的cubemx配置也是这样的)
1.基本配置(每一个例程的基本操作)
时钟配置(输入频率一定要为8,不然串口的接收数据显示会乱码)
- SPI开启
- 串口开启
- GPIO开启
我们注意到的是2.4G模块还有其他的接口,根据数据手册我们可以知道CE CSN是输入端的,所以对于单片机来说就是输出,我们把其中两个口配置为output,同时改下别名,分别为NRF_CE NRF_CS;同理,在IRQ这个口我们在cube配置为input 修改下别名,如上图所示
最后是这样的。
(接收端也是这样的)
三 代码编写
- 移植文件NRF24L01.h NRF24L01.c
#include "NRF24L01.h"
#include "spi.h"
const uint8_t TX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; //发送地址
const uint8_t RX_ADDRESS[RX_ADR_WIDTH]={0x