NRF24L01-1-master
所属分类:单片机开发
开发工具:C/C++
文件大小:466KB
下载次数:0
上传日期:2019-05-31 05:37:10
上 传 者:
aureziano
说明: biblioteca LCD STM32F
文件列表:
NRF24L01-1-master\.clang-format (2629, 2018-03-12)
NRF24L01-1-master\.travis.yml (390, 2018-03-12)
NRF24L01-1-master\api.md (26803, 2018-03-12)
NRF24L01-1-master\Doxyfile (107920, 2018-03-12)
NRF24L01-1-master\example\general\example.c (1605, 2018-03-12)
NRF24L01-1-master\example\general\example.h (29, 2018-03-12)
NRF24L01-1-master\example\stm32f1\.mxproject (3879, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xb.h (874178, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h (8550, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h (3221, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\arm_common_tables.h (7129, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\arm_const_structs.h (3863, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\arm_math.h (245185, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\cmsis_armcc.h (23689, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\cmsis_armcc_V6.h (53283, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\cmsis_gcc.h (40062, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cm0.h (36420, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cm0plus.h (43882, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cm3.h (102146, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cm4.h (112561, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cm7.h (137148, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cmFunc.h (3533, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cmInstr.h (3549, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_cmSimd.h (3566, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_sc000.h (44336, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\CMSIS\Include\core_sc300.h (101064, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h (178659, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h (11689, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h (18431, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h (8353, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h (19053, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h (13853, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h (10290, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h (37481, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h (13047, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h (37842, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h (12998, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h (68335, 2018-03-12)
NRF24L01-1-master\example\stm32f1\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h (100968, 2018-03-12)
... ...
[![Build Status](https://travis-ci.org/petoknm/NRF24L01.svg?branch=master)](https://travis-ci.org/petoknm/NRF24L01)
# NRF24L01
Library for interfacing with NRF24L01(+) modules from an STM32 micro.
## TODO
- make CSN pin optional
- revert rx_buffer changes
- get rid of `__weak` in favor of function pointers
- documentation
- stm32f0 example
- stm32f1 example
- stm32f4 example
## Hardware Setup
NRF24L01 modules interface directly over SPI and three additional wires (CE, CSN and IRQ).
## Software Setup
Fill out all the parameters in the `nrf24l01_config` structure and call
`nrf_init` to initialize your `nrf24l01` structure. This structure can then be
used to make subsequent library calls.
## Important Functions
### EXTI Interrupt Handler
* `void nrf_irq_handler(nrf24l01* dev)`
You must call this function on Falling edge trigger detection interrupt handler, typically, from `HAL_GPIO_EXTI_Callback`
### Asynchronous Data Receiving
* `void nrf_packet_received_callback(nrf24l01* dev, uint8_t* data)`
Override this function (it is `__weak` by default) to handle received data asynchronously,
default implementation is used in favor of `nrf_receive_packet` for blocking data receiving
### TODO: Revert: Blocking Data Receiving
* `const uint8_t* nrf_receive_packet(nrf24l01* dev)`
Blocks until the data has arrived, then returns a pointer to received data. Please note, once `nrf_packet_received_callback` routine is overridden, this one will stop working.
### Blocking Data Sending
* `NRF_RESULT nrf_send_packet(nrf24l01* dev, const uint8_t* data)`
If the Auto Acknowledgement is enabled (default), this method will return `NRF_OK`, if the data has been acknowledged by other party, and `NRF_ERROR` if the data has not been received (maximum retransmissions has occurred).
If the AA is disabled, returns `NRF_OK` once the data has been transmitted (with no guarantee the data was actually received).
### Blocking Data Sending, with NO_ACK flag
* `NRF_RESULT nrf_send_packet_noack(nrf24l01* dev, const uint8_t* data)`
Disables the AA for this packet, thus this method always returns `NRF_OK`.
## Requirements
For building you will need:
- make
- gcc
For developing you will also need:
- clang-format
近期下载者:
相关文件:
收藏者: