Slave (receiver) example of using nRF24L01 with STM32F407VET6.

Dependencies:   mbed RF24

Slave (receiver) example of using nRF24L01 with STM32F407VET6 black boards.

/media/uploads/hudakz/nrf24l01_2rY1GYr.png


Connect (plug in) the nRF24L01 module to the NRF24L01 connector located on the STM32F407VET6 board as follows:

nRF24L01STM32F407VET6
Vcc+3.3V
GNDGND
MOSIPB_5 (SPI1 MOSI)
MISOPB_4 (SPI1 MISO)
SCKPB_3 (SPI1 SCK)
CSNPB_7 (CS)
CEPB_6 (CE)
Revision:
2:4c5ac5e09740
Parent:
1:9bafc8faffdf
--- a/main.cpp	Wed Jan 23 17:45:09 2019 +0000
+++ b/main.cpp	Fri Jan 25 14:03:41 2019 +0000
@@ -1,16 +1,19 @@
 #include "mbed.h"
 #include "RF24.h"
 
-const uint64_t  ADDRESS = 0xF0F0F0F0F0F0F001LL;
+const uint64_t  ADDRESS = 0xF0F0F0F0F0F0F001L;
 
 DigitalOut      led(PA_6);
-RF24            radio(PB_5, PB_4, PB_3, PB_7, PB_6);    // mosi, miso, sck, csn, ce, (irq=Not Connected)
+RF24            radio(PB_5, PB_4, PB_3, PB_7, PB_6);    // mosi, miso, sck, csn, ce, (irq not used)
 uint8_t         payload;
 
 int main(void)
 {
    // Initialize nRF24L01
-    radio.begin();
+    if (!radio.begin()) {
+        printf("Failed to initialize nRF24L01. Check whether connected.\r\n");
+        return -1;  // Exit the program
+    }
     radio.setPALevel(RF24_PA_LOW);
     radio.setRetries(5, 15);
     radio.setPayloadSize(sizeof(payload));