hello,will you please tell me which code i have to use in the sdk 12.2.0 for rf communication with nrf51822 and nrf24l01 .and also tell me which settings i have to do for nrf24l01 side as a transmitter.so that i can receive data on nrf51822 side.
hello,will you please tell me which code i have to use in the sdk 12.2.0 for rf communication with nrf51822 and nrf24l01 .and also tell me which settings i have to do for nrf24l01 side as a transmitter.so that i can receive data on nrf51822 side.
Hi Pallavi
The ESB library in the nRF5 SDK v12.2.0 is designed to be backwards compatible with the nRF24L01/nRF24L01+, assuming you don't use the L01 device in legacy Shockburst mode (ACK's disabled).
On the nRF5 side you can use the esb_ptx and esb_prx examples as a starting point: \nRF5_SDK_12.2.0\examples\proprietary_rf\
For this to work you need the following settings on the nRF24L01 side:
Default address (0xE7E7E7E7E7), with 5 byte address length
16-bit CRC
2Mbps bitrate
Auto ACK and dynamic payload length enabled
For all other settings you can use the default values.
Edit: Added attachment.
Best regards
Torbjørn
Hello Sir,
My intention is to run a simple transmitter and receiver between NRF51822 and Arduino Uno +NRF24L01.
Please see below working code for a Transmitter and Receiver both using Arduino Uno + NRF24L01 Library for NRF24L01 (http://tmrh20.github.io/RF24/)
Pin Configuration: NRF24 Arduino 1 GND GND 2 VCC VCC 3 CE Analog 4 4 CSN Analog 5 5 SCK digIO 13 6 MOSI digIO 11 7 MISO digIO 12
Transmitter Code with its Configurations
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE 18
#define CSN 19
RF24 radio(CE, CSN);
unsigned char values;
const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup()
{
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_MAX);
radio.setDataRate(RF24_1MBPS);
radio.setChannel(7);
radio.openWritingPipe(rxAddr);
radio.stopListening();
}
void loop()
{
values = 0x10;
radio.write(&values,1);
delay(2000);
// Serial.print(value); //prints the character just read
}
Receiver Code with its Configurations
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE 18
#define CSN 19
RF24 radio(CE, CSN);
unsigned char values;
const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup()
{
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_MAX);
radio.setDataRate(RF24_1MBPS);
radio.setChannel(7);
radio.openReadingPipe(0, rxAddr);
radio.startListening();
}
void loop()
{
if (radio.available())
{
char text;
radio.read(&text, 1);
Serial.print(text);
}
}
Please suggest whats should i do with respect to NRF51822 to work with these transmitter and receiver code respectively. We have been discussing all for so long but haven't come to a conclusion. So can you help me in code with simple configuration mentioned in the code above and run transmitter and receiver successfully.
Regards Pallavi
Hello Sir,
My intention is to run a simple transmitter and receiver between NRF51822 and Arduino Uno +NRF24L01.
Please see below working code for a Transmitter and Receiver both using Arduino Uno + NRF24L01 Library for NRF24L01 (http://tmrh20.github.io/RF24/)
Pin Configuration: NRF24 Arduino 1 GND GND 2 VCC VCC 3 CE Analog 4 4 CSN Analog 5 5 SCK digIO 13 6 MOSI digIO 11 7 MISO digIO 12
Transmitter Code with its Configurations
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE 18
#define CSN 19
RF24 radio(CE, CSN);
unsigned char values;
const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup()
{
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_MAX);
radio.setDataRate(RF24_1MBPS);
radio.setChannel(7);
radio.openWritingPipe(rxAddr);
radio.stopListening();
}
void loop()
{
values = 0x10;
radio.write(&values,1);
delay(2000);
// Serial.print(value); //prints the character just read
}
Receiver Code with its Configurations
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define CE 18
#define CSN 19
RF24 radio(CE, CSN);
unsigned char values;
const byte rxAddr[5] = {0xC0,0x01,0x23,0x45,0x67};
void setup()
{
Serial.begin(9600);
radio.begin();
radio.setPALevel(RF24_PA_MAX);
radio.setDataRate(RF24_1MBPS);
radio.setChannel(7);
radio.openReadingPipe(0, rxAddr);
radio.startListening();
}
void loop()
{
if (radio.available())
{
char text;
radio.read(&text, 1);
Serial.print(text);
}
}
Please suggest whats should i do with respect to NRF51822 to work with these transmitter and receiver code respectively. We have been discussing all for so long but haven't come to a conclusion. So can you help me in code with simple configuration mentioned in the code above and run transmitter and receiver successfully.
Regards Pallavi