STM32
直播中

李英

7年用户 1424经验值
私信 关注
[问答]

nRF24L01+PA+LNA的知识点汇总,错过绝对后悔

nRF24L01+PA+LNA的知识点汇总,错过绝对后悔

回帖(1)

郭燕

2021-12-17 11:14:32
学习笔记

在2015年左右DIY个人Arduino气象站时使用过nrf24l01,但代码已经丢失,特开此篇回忆一下,Arduino的学习也算告一段落,继续往STM32方向学习。
模块介绍












使用过这两种
其中下面这种是nRF24L01+PA+LNA
低噪声放大器(Low Noise Amplifier)-------------LNA
功率放大器(Power Amplifier简称)--------------PA
信号比上面那种好很多。


连接
使用此模块时总共用过三个板子,印象中根据板子不同SPI接口的引脚也有些许不同。
在连接这里踩过坑,网上有些线路图是错的,需要自己摸索。


Arduino Nano
VCC——3.3V
GND——GND
CE——D7(代码可改)
CSN——D8(代码可改)
CSK——D13
MOSI——D11
MISO——D12


Arduino UNO
VCC——3.3V
GND——GND
CE——D7(代码可改)
CSN——D8(代码可改)
CSK——D13
MOSI——D11
MISO——D12


Arduino Mega2560
待补充


发送端代码:
#include
#include
#include


RF24 radio(7, 8); // CE, CSN引脚


const byte address[6] = "00001";//接收端地址


void setup() {
        radio.begin();
        radio.openWritingPipe(address);
        radio.setPALevel(RF24_PA_MIN);
        radio.stopListening();
}


void loop() {
        const char text[] = "Hello World";
        radio.write(&text, sizeof(text));
        delay(1000);
}


接收端代码:
#include
#include
#include


RF24 radio(7, 8); // CE, CSN引脚


const byte address[6] = "00001";//本机地址


void setup() {
        Serial.begin(9600);
        radio.begin();
        radio.openReadingPipe(0, address);
        radio.setPALevel(RF24_PA_MIN);
        radio.startListening();
}
       
void loop() {
        if (radio.available()) {
        char text[32] = "";
        radio.read(&text, sizeof(text));
        Serial.println(text);
        }
}


待研究
STM32通过Nrf24l01与Arduino通信
功率、信道、频点设置
双向收发通信
地址规则
举报

更多回帖

发帖
×
20
完善资料,
赚取积分