学习笔记
在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通信
功率、信道、频点设置
双向收发通信
地址规则
学习笔记
在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通信
功率、信道、频点设置
双向收发通信
地址规则
举报