This is my send and receive code in STM32 (blue board). But i can't send and receive data . why? I did use Enrf24.h . Enrf24 link: https://github.com/spirilis/Enrf24 send code is:
#include <SPI.h>
#include <Enrf24.h>
#include <nRF24L01.h>
#include <string.h>
#define ce_nrf PB12
#define csn_nrf PB13
#define irq_nrf PA0
Enrf24 radio(ce_nrf, csn_nrf, irq_nrf); // P2.0=CE, P2.1=CSN, P2.2=IRQ
const uint8_t txaddr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x01 };
void setup() {
Serial.begin(9600);
SPI.begin();
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(MSBFIRST);
radio.begin(); // Defaults 1Mbps, channel 0, max TX power
radio.setTXaddress((void*)txaddr);
}
void loop() {
Serial.print("Sending packet: ");
radio.print("OONN");
radio.flush(); // Force transmit (don't wait for any more data)
delay(1000);
Serial.print("Sending packet: ");
radio.print("OOFF");
radio.flush();
delay(1000);
}
receive code is:
#include <SPI.h>
#include <Enrf24.h>
#include <nRF24L01.h>
#define ce_nrf PB12
#define csn_nrf PB13
#define irq_nrf PA0
Enrf24 radio(ce_nrf, csn_nrf, irq_nrf); // P2.0=CE, P2.1=CSN, P2.2=IRQ
const uint8_t rxaddr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x01 };
const char *str_on = "ON";
const char *str_off = "OFF";
void dump_radio_status_to_serialport(uint8_t);
void setup() {
Serial.begin(9600);
SPI.begin();
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(MSBFIRST);
radio.begin(); // Defaults 1Mbps, channel 0, max TX power
radio.setRXaddress((void*)rxaddr);
radio.enableRX(); // Start listening
}
void loop() {
char inbuf[33];
while (!radio.available(true));
if (radio.read(inbuf)) {
Serial.print("Received packet: ");
Serial.println(inbuf);
}
}
