Hardware access layer for managing the SPIS peripheral. More...
Macros | |
#define | NRF_SPIS_PIN_NOT_CONNECTED 0xFFFFFFFF |
This value can be used as a parameter for the nrf_spis_pins_set function to specify that a given SPI signal (SCK, MOSI, or MISO) shall not be connected to a physical pin. | |
Enumerations | |
enum | nrf_spis_task_t { NRF_SPIS_TASK_ACQUIRE = offsetof(NRF_SPIS_Type, TASKS_ACQUIRE), NRF_SPIS_TASK_RELEASE = offsetof(NRF_SPIS_Type, TASKS_RELEASE) } |
SPIS tasks. More... | |
enum | nrf_spis_event_t { NRF_SPIS_EVENT_END = offsetof(NRF_SPIS_Type, EVENTS_END), NRF_SPIS_EVENT_ACQUIRED = offsetof(NRF_SPIS_Type, EVENTS_ACQUIRED) } |
SPIS events. More... | |
enum | nrf_spis_short_mask_t { NRF_SPIS_SHORT_END_ACQUIRE = SPIS_SHORTS_END_ACQUIRE_Msk } |
SPIS shortcuts. More... | |
enum | nrf_spis_int_mask_t { NRF_SPIS_INT_END_MASK = SPIS_INTENSET_END_Msk, NRF_SPIS_INT_ACQUIRED_MASK = SPIS_INTENSET_ACQUIRED_Msk } |
SPIS interrupts. More... | |
enum | nrf_spis_mode_t { NRF_SPIS_MODE_0, NRF_SPIS_MODE_1, NRF_SPIS_MODE_2, NRF_SPIS_MODE_3 } |
SPI modes. More... | |
enum | nrf_spis_bit_order_t { NRF_SPIS_BIT_ORDER_MSB_FIRST = SPIS_CONFIG_ORDER_MsbFirst, NRF_SPIS_BIT_ORDER_LSB_FIRST = SPIS_CONFIG_ORDER_LsbFirst } |
SPI bit orders. More... | |
enum | nrf_spis_semstat_t { NRF_SPIS_SEMSTAT_FREE = 0, NRF_SPIS_SEMSTAT_CPU = 1, NRF_SPIS_SEMSTAT_SPIS = 2, NRF_SPIS_SEMSTAT_CPUPENDING = 3 } |
SPI semaphore status. More... | |
enum | nrf_spis_status_mask_t { NRF_SPIS_STATUS_OVERREAD = SPIS_STATUS_OVERREAD_Msk, NRF_SPIS_STATUS_OVERFLOW = SPIS_STATUS_OVERFLOW_Msk } |
SPIS status. More... | |
Functions | |
__STATIC_INLINE void | nrf_spis_task_trigger (NRF_SPIS_Type *p_reg, nrf_spis_task_t task) |
Function for activating the specified SPIS task. More... | |
__STATIC_INLINE uint32_t | nrf_spis_task_address_get (NRF_SPIS_Type const *p_reg, nrf_spis_task_t task) |
Function for getting the address of the specified SPIS task register. More... | |
__STATIC_INLINE void | nrf_spis_event_clear (NRF_SPIS_Type *p_reg, nrf_spis_event_t event) |
Function for clearing the specified SPIS event. More... | |
__STATIC_INLINE bool | nrf_spis_event_check (NRF_SPIS_Type const *p_reg, nrf_spis_event_t event) |
Function for retrieving the state of the SPIS event. More... | |
__STATIC_INLINE uint32_t | nrf_spis_event_address_get (NRF_SPIS_Type const *p_reg, nrf_spis_event_t event) |
Function for getting the address of the specified SPIS event register. More... | |
__STATIC_INLINE void | nrf_spis_shorts_enable (NRF_SPIS_Type *p_reg, uint32_t mask) |
Function for enabling the specified shortcuts. More... | |
__STATIC_INLINE void | nrf_spis_shorts_disable (NRF_SPIS_Type *p_reg, uint32_t mask) |
Function for disabling the specified shortcuts. More... | |
__STATIC_INLINE void | nrf_spis_int_enable (NRF_SPIS_Type *p_reg, uint32_t mask) |
Function for enabling the specified interrupts. More... | |
__STATIC_INLINE void | nrf_spis_int_disable (NRF_SPIS_Type *p_reg, uint32_t mask) |
Function for disabling the specified interrupts. More... | |
__STATIC_INLINE bool | nrf_spis_int_enable_check (NRF_SPIS_Type const *p_reg, nrf_spis_int_mask_t spis_int) |
Function for retrieving the state of a given interrupt. More... | |
__STATIC_INLINE void | nrf_spis_subscribe_set (NRF_SPIS_Type *p_reg, nrf_spis_task_t task, uint8_t channel) |
Function for setting the subscribe configuration for a given SPIS task. More... | |
__STATIC_INLINE void | nrf_spis_subscribe_clear (NRF_SPIS_Type *p_reg, nrf_spis_task_t task) |
Function for clearing the subscribe configuration for a given SPIS task. More... | |
__STATIC_INLINE void | nrf_spis_publish_set (NRF_SPIS_Type *p_reg, nrf_spis_event_t event, uint8_t channel) |
Function for setting the publish configuration for a given SPIS event. More... | |
__STATIC_INLINE void | nrf_spis_publish_clear (NRF_SPIS_Type *p_reg, nrf_spis_event_t event) |
Function for clearing the publish configuration for a given SPIS event. More... | |
__STATIC_INLINE void | nrf_spis_enable (NRF_SPIS_Type *p_reg) |
Function for enabling the SPIS peripheral. More... | |
__STATIC_INLINE void | nrf_spis_disable (NRF_SPIS_Type *p_reg) |
Function for disabling the SPIS peripheral. More... | |
__STATIC_INLINE nrf_spis_semstat_t | nrf_spis_semaphore_status_get (NRF_SPIS_Type *p_reg) |
Function for retrieving the SPIS semaphore status. More... | |
__STATIC_INLINE nrf_spis_status_mask_t | nrf_spis_status_get (NRF_SPIS_Type *p_reg) |
Function for retrieving the SPIS status. More... | |
__STATIC_INLINE void | nrf_spis_pins_set (NRF_SPIS_Type *p_reg, uint32_t sck_pin, uint32_t mosi_pin, uint32_t miso_pin, uint32_t csn_pin) |
Function for configuring SPIS pins. More... | |
__STATIC_INLINE void | nrf_spis_tx_buffer_set (NRF_SPIS_Type *p_reg, uint8_t const *p_buffer, size_t length) |
Function for setting the transmit buffer. More... | |
__STATIC_INLINE void | nrf_spis_rx_buffer_set (NRF_SPIS_Type *p_reg, uint8_t *p_buffer, size_t length) |
Function for setting the receive buffer. More... | |
__STATIC_INLINE size_t | nrf_spis_tx_amount_get (NRF_SPIS_Type const *p_reg) |
Function for getting the number of bytes transmitted in the last granted transaction. More... | |
__STATIC_INLINE size_t | nrf_spis_rx_amount_get (NRF_SPIS_Type const *p_reg) |
Function for getting the number of bytes received in the last granted transaction. More... | |
__STATIC_INLINE void | nrf_spis_configure (NRF_SPIS_Type *p_reg, nrf_spis_mode_t spi_mode, nrf_spis_bit_order_t spi_bit_order) |
Function for setting the SPI configuration. More... | |
__STATIC_INLINE void | nrf_spis_def_set (NRF_SPIS_Type *p_reg, uint8_t def) |
Function for setting the default character. More... | |
__STATIC_INLINE void | nrf_spis_orc_set (NRF_SPIS_Type *p_reg, uint8_t orc) |
Function for setting the over-read character. More... | |
Hardware access layer for managing the SPIS peripheral.
enum nrf_spis_bit_order_t |
enum nrf_spis_event_t |
enum nrf_spis_int_mask_t |
enum nrf_spis_mode_t |
enum nrf_spis_semstat_t |
enum nrf_spis_task_t |
__STATIC_INLINE void nrf_spis_configure | ( | NRF_SPIS_Type * | p_reg, |
nrf_spis_mode_t | spi_mode, | ||
nrf_spis_bit_order_t | spi_bit_order | ||
) |
Function for setting the SPI configuration.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | spi_mode | SPI mode. |
[in] | spi_bit_order | SPI bit order. |
__STATIC_INLINE void nrf_spis_def_set | ( | NRF_SPIS_Type * | p_reg, |
uint8_t | def | ||
) |
Function for setting the default character.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | def | Default character that is clocked out in case of an overflow of the RXD buffer. |
__STATIC_INLINE void nrf_spis_disable | ( | NRF_SPIS_Type * | p_reg | ) |
Function for disabling the SPIS peripheral.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
__STATIC_INLINE void nrf_spis_enable | ( | NRF_SPIS_Type * | p_reg | ) |
Function for enabling the SPIS peripheral.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
__STATIC_INLINE uint32_t nrf_spis_event_address_get | ( | NRF_SPIS_Type const * | p_reg, |
nrf_spis_event_t | event | ||
) |
Function for getting the address of the specified SPIS event register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | The specified event. |
__STATIC_INLINE bool nrf_spis_event_check | ( | NRF_SPIS_Type const * | p_reg, |
nrf_spis_event_t | event | ||
) |
Function for retrieving the state of the SPIS event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event to be checked. |
true | The event has been generated. |
false | The event has not been generated. |
__STATIC_INLINE void nrf_spis_event_clear | ( | NRF_SPIS_Type * | p_reg, |
nrf_spis_event_t | event | ||
) |
Function for clearing the specified SPIS event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event to be cleared. |
__STATIC_INLINE void nrf_spis_int_disable | ( | NRF_SPIS_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for disabling the specified interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be disabled. |
__STATIC_INLINE void nrf_spis_int_enable | ( | NRF_SPIS_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for enabling the specified interrupts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Mask of interrupts to be enabled. |
__STATIC_INLINE bool nrf_spis_int_enable_check | ( | NRF_SPIS_Type const * | p_reg, |
nrf_spis_int_mask_t | spis_int | ||
) |
Function for retrieving the state of a given interrupt.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | spis_int | Interrupt to be checked. |
true | The interrupt is enabled. |
false | The interrupt is not enabled. |
__STATIC_INLINE void nrf_spis_orc_set | ( | NRF_SPIS_Type * | p_reg, |
uint8_t | orc | ||
) |
Function for setting the over-read character.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | orc | Over-read character that is clocked out in case of an over-read of the TXD buffer. |
__STATIC_INLINE void nrf_spis_pins_set | ( | NRF_SPIS_Type * | p_reg, |
uint32_t | sck_pin, | ||
uint32_t | mosi_pin, | ||
uint32_t | miso_pin, | ||
uint32_t | csn_pin | ||
) |
Function for configuring SPIS pins.
If a given signal is not needed, pass the NRF_SPIS_PIN_NOT_CONNECTED value instead of its pin number.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | sck_pin | SCK pin number. |
[in] | mosi_pin | MOSI pin number. |
[in] | miso_pin | MISO pin number. |
[in] | csn_pin | CSN pin number. |
__STATIC_INLINE void nrf_spis_publish_clear | ( | NRF_SPIS_Type * | p_reg, |
nrf_spis_event_t | event | ||
) |
Function for clearing the publish configuration for a given SPIS event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to clear the configuration. |
__STATIC_INLINE void nrf_spis_publish_set | ( | NRF_SPIS_Type * | p_reg, |
nrf_spis_event_t | event, | ||
uint8_t | channel | ||
) |
Function for setting the publish configuration for a given SPIS event.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | event | Event for which to set the configuration. |
[in] | channel | Channel through which to publish the event. |
__STATIC_INLINE size_t nrf_spis_rx_amount_get | ( | NRF_SPIS_Type const * | p_reg | ) |
Function for getting the number of bytes received in the last granted transaction.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
__STATIC_INLINE void nrf_spis_rx_buffer_set | ( | NRF_SPIS_Type * | p_reg, |
uint8_t * | p_buffer, | ||
size_t | length | ||
) |
Function for setting the receive buffer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_buffer | Pointer to the buffer for received data. |
[in] | length | Maximum number of data bytes to receive. |
__STATIC_INLINE nrf_spis_semstat_t nrf_spis_semaphore_status_get | ( | NRF_SPIS_Type * | p_reg | ) |
Function for retrieving the SPIS semaphore status.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
__STATIC_INLINE void nrf_spis_shorts_disable | ( | NRF_SPIS_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for disabling the specified shortcuts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Shortcuts to be disabled. |
__STATIC_INLINE void nrf_spis_shorts_enable | ( | NRF_SPIS_Type * | p_reg, |
uint32_t | mask | ||
) |
Function for enabling the specified shortcuts.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | mask | Shortcuts to be enabled. |
__STATIC_INLINE nrf_spis_status_mask_t nrf_spis_status_get | ( | NRF_SPIS_Type * | p_reg | ) |
Function for retrieving the SPIS status.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
__STATIC_INLINE void nrf_spis_subscribe_clear | ( | NRF_SPIS_Type * | p_reg, |
nrf_spis_task_t | task | ||
) |
Function for clearing the subscribe configuration for a given SPIS task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to clear the configuration. |
__STATIC_INLINE void nrf_spis_subscribe_set | ( | NRF_SPIS_Type * | p_reg, |
nrf_spis_task_t | task, | ||
uint8_t | channel | ||
) |
Function for setting the subscribe configuration for a given SPIS task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task for which to set the configuration. |
[in] | channel | Channel through which to subscribe events. |
__STATIC_INLINE uint32_t nrf_spis_task_address_get | ( | NRF_SPIS_Type const * | p_reg, |
nrf_spis_task_t | task | ||
) |
Function for getting the address of the specified SPIS task register.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | The specified task. |
__STATIC_INLINE void nrf_spis_task_trigger | ( | NRF_SPIS_Type * | p_reg, |
nrf_spis_task_t | task | ||
) |
Function for activating the specified SPIS task.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | task | Task to be activated. |
__STATIC_INLINE size_t nrf_spis_tx_amount_get | ( | NRF_SPIS_Type const * | p_reg | ) |
Function for getting the number of bytes transmitted in the last granted transaction.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
__STATIC_INLINE void nrf_spis_tx_buffer_set | ( | NRF_SPIS_Type * | p_reg, |
uint8_t const * | p_buffer, | ||
size_t | length | ||
) |
Function for setting the transmit buffer.
[in] | p_reg | Pointer to the structure of registers of the peripheral. |
[in] | p_buffer | Pointer to the buffer that contains the data to send. |
[in] | length | Maximum number of data bytes to transmit. |