Go to the documentation of this file.
24 #include "periph_cpu_common.h"
34 #ifdef CPU_MODEL_NRF52832XXAA
35 #define ERRATA_SPI_SINGLE_BYTE_WORKAROUND (1)
41 #define CLOCK_CORECLOCK (64000000U)
46 #define PERIPH_CLOCK (16000000U)
52 #define SPI_SCKSEL (dev(bus)->PSEL.SCK)
53 #define SPI_MOSISEL (dev(bus)->PSEL.MOSI)
54 #define SPI_MISOSEL (dev(bus)->PSEL.MISO)
55 #ifdef CPU_MODEL_NRF52832XXAA
56 #define UART_IRQN (UARTE0_UART0_IRQn)
63 #define ADC_NUMOF (9U)
69 #ifndef CONFIG_SPI_MBUF_SIZE
70 #define CONFIG_SPI_MBUF_SIZE 64
93 #define HAVE_ADC_RES_T
110 #define HAVE_I2C_SPEED_T
136 #define PERIPH_I2C_NEED_READ_REG
137 #define PERIPH_I2C_NEED_WRITE_REG
143 #define PWM_CHANNELS (4U)
152 #define PWM_MODE(ud, pol) (ud | (pol << 15))
158 #define HAVE_PWM_MODE_T
181 #if defined(PWM_PRESENT) || DOXYGEN
184 gpio_t pin[PWM_CHANNELS];
188 #if !defined(CPU_MODEL_NRF52832XXAA)
197 #ifdef MODULE_PERIPH_UART_HW_FC
213 #if ERRATA_SPI_SINGLE_BYTE_WORKAROUND
@ NRF52_AIN0
Analog Input 0.
@ NRF52_AIN3
Analog Input 3.
@ ADC_RES_6BIT
ADC resolution: 6 bit.
void(* spi_twi_irq_cb_t)(void *arg)
Common SPI/I2C interrupt callback.
@ I2C_SPEED_LOW
low speed mode: ~10 kbit/s
@ NRF52_AIN2
Analog Input 2.
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
void spi_twi_irq_register_spi(NRF_SPIM_Type *bus, spi_twi_irq_cb_t cb, void *arg)
Reqister a SPI IRQ handler for a shared I2C/SPI irq vector.
@ ADC_RES_14BIT
ADC resolution: 14 bit.
adc_res_t
Possible ADC resolution settings.
NRF_TWIM_Type * dev
TWIM hardware device.
@ NRF52_AIN5
Analog Input 5.
@ ADC_RES_16BIT
ADC resolution: 16 bit.
i2c_speed_t
Default mapping of I2C bus speed values.
@ ADC_RES_8BIT
ADC resolution: 8 bit.
NRF_UARTE_Type * dev
UART with EasyDMA device base register address.
NRF_PWM_Type * dev
PWM device descriptor.
PWM device configuration.
@ PWM_LEFT
left aligned PWM
UART device configuration.
@ NRF52_AIN6
Analog Input 6.
@ PWM_RIGHT
right aligned PWM
NRF_SPIM_Type * dev
SPI device used.
@ NRF52_AIN4
Analog Input 4.
@ PWM_CENTER_INV
not supported
@ ADC_RES_10BIT
ADC resolution: 10 bit.
@ NRF52_AIN1
Analog Input 1.
@ ADC_RES_12BIT
ADC resolution: 12 bit.
void spi_twi_irq_register_i2c(NRF_TWIM_Type *bus, spi_twi_irq_cb_t cb, void *arg)
Reqister a I2C IRQ handler for a shared I2C/SPI irq vector.
@ NRF52_VDD
VDD, not useful if VDD is reference...
I2C configuration options.
@ I2C_SPEED_FAST_PLUS
fast plus mode: ~1000 kbit/s
@ NRF52_AIN7
Analog Input 7.
@ I2C_SPEED_FAST
fast mode: ~400 kbit/s
@ I2C_SPEED_HIGH
high speed mode: ~3400 kbit/s
SPI configuration structure type.
@ PWM_CENTER
not supported