Master (transmitter) example of using nRF24L01 with STM32F407VET6.

Dependencies:   mbed RF24

Master (transmitter) 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)
Committer:
hudakz
Date:
Wed Jan 23 07:43:18 2019 +0000
Revision:
0:a910b574c2d9
Child:
2:f2d55b32f539
Initial release.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:a910b574c2d9 1 #include "mbed.h"
hudakz 0:a910b574c2d9 2 #include "RF24.h"
hudakz 0:a910b574c2d9 3
hudakz 0:a910b574c2d9 4 const uint64_t SLAVE_ADDRESS = 0xF0F0F0F0F0F0F001L; // slave's address
hudakz 0:a910b574c2d9 5
hudakz 0:a910b574c2d9 6 DigitalOut led(PA_6); // LED1
hudakz 0:a910b574c2d9 7 RF24 radio(PB_5, PB_4, PB_3, PB_7, PB_6); // mosi, miso, sck, csn, ce, (irq is not connected/used)
hudakz 0:a910b574c2d9 8 uint8_t payload;
hudakz 0:a910b574c2d9 9
hudakz 0:a910b574c2d9 10 int main()
hudakz 0:a910b574c2d9 11 {
hudakz 0:a910b574c2d9 12 // Initialize nRF24L01
hudakz 0:a910b574c2d9 13 radio.begin();
hudakz 0:a910b574c2d9 14 radio.setPALevel(RF24_PA_LOW);
hudakz 0:a910b574c2d9 15 radio.setRetries(5, 15);
hudakz 0:a910b574c2d9 16 radio.setPayloadSize(sizeof(payload));
hudakz 0:a910b574c2d9 17 radio.setAutoAck(true);
hudakz 0:a910b574c2d9 18
hudakz 0:a910b574c2d9 19 while (1) {
hudakz 0:a910b574c2d9 20 led = !led;
hudakz 0:a910b574c2d9 21 payload = led;
hudakz 0:a910b574c2d9 22
hudakz 0:a910b574c2d9 23 // Send led's status to slave
hudakz 0:a910b574c2d9 24 radio.stopListening();
hudakz 0:a910b574c2d9 25 radio.openWritingPipe(SLAVE_ADDRESS);
hudakz 0:a910b574c2d9 26 if (radio.write(&payload, sizeof(payload))) // send message to slave and get acknowledge
hudakz 0:a910b574c2d9 27 printf("Message delivery succeeded.\r\n");
hudakz 0:a910b574c2d9 28 else
hudakz 0:a910b574c2d9 29 printf("Message delivery failed.\r\n");
hudakz 0:a910b574c2d9 30
hudakz 0:a910b574c2d9 31 wait(1);
hudakz 0:a910b574c2d9 32 }
hudakz 0:a910b574c2d9 33 }