TM STM32Fxxx HAL Libraries  v1.0.0
Libraries for STM32Fxxx (F0, F4 and F7 series) devices based on HAL drivers from ST from Tilen Majerle

nRF24L01+ library for STM32xxx devices - http://stm32f4-discovery.com/2015/09/hal-library-25-nrf24l01-for-stm32fxxx/ More...

Modules

 TM_NRF24L01P_Macros
 Library defines.
 
 TM_NRF24L01P_Typedefs
 Library Typedefs.
 
 TM_NRF24L01P_Functions
 Library Functions.
 

Detailed Description

nRF24L01+ library for STM32xxx devices - http://stm32f4-discovery.com/2015/09/hal-library-25-nrf24l01-for-stm32fxxx/

This library allows you to work with nRF24L01+ modules.

You can send and receive data from nRF24L01+ modules.

Default pinout
NRF24L01+   STM32Fxxx   DESCRIPTION

GND         GND         Ground
VCC         3.3V        3.3V
CE          PD8         RF activated pin
CSN         PD7         Chip select pin for SPI
SCK         PC10        SCK pin for SPI
MOSI        PC12        MOSI pin for SPI
MISO        PC11        MISO pin for SPI
IRQ         Not used    Interrupt pin. Goes low when active. Pin functionality is active, but not used in library

IRQ pin is not used in this library, but its functionality is enabled by this software.

You can still set any pin on Fxxx to be an external interrupt and handle interrupts from nRF24L01+ module.

The easiest way to that is to use TM_EXTI library and attach interrupt functionality to this pin

Custom pinout

Add lines below in your defines.h file if you want to change default pinout:

//Change SPI used. Refer to TM SPI library to check which pins are for SPI
#define NRF24L01_SPI SPI3
#define NRF24L01_SPI_PINS TM_SPI_PinsPack_2
//Change CSN pin. This is for SPI communication
#define NRF24L01_CSN_PORT GPIOD
#define NRF24L01_CSN_PIN GPIO_Pin_7
//Change CE pin. This pin is used to enable/disable transmitter/receiver functionality
#define NRF24L01_CE_PORT GPIOD
#define NRF24L01_CE_PIN GPIO_Pin_8
Changelog
 Version 1.0
  - First release
Dependencies
 - STM32Fxxx HAL
 - defines.h
 - TM SPI
 - TM GPIO