periph_conf.h File Reference

Peripheral MCU configuration for the nucleo-wl55jc board. More...

Detailed Description

Peripheral MCU configuration for the nucleo-wl55jc board.

Author
Akshai M aksha.nosp@m.i.m@.nosp@m.fu-be.nosp@m.rlin.nosp@m..de
Hauke Petersen devel.nosp@m.@hau.nosp@m.kepet.nosp@m.erse.nosp@m.n.de

Definition in file periph_conf.h.

#include "periph_cpu.h"
#include "clk_conf.h"
#include "cfg_rtt_default.h"
#include "cfg_timer_tim2.h"
+ Include dependency graph for periph_conf.h:

Go to the source code of this file.

#define CONFIG_BOARD_HAS_LSE   1
 
#define CONFIG_BOARD_HAS_HSE   1
 
#define CONFIG_CLOCK_HSE   MHZ(32)
 

UART configuration

#define UART_0_ISR   (isr_lpuart1)
 
#define UART_1_ISR   (isr_usart1)
 
#define UART_NUMOF   ARRAY_SIZE(uart_config)
 
static const uart_conf_t uart_config []
 

SPI configuration

#define SPI_NUMOF   ARRAY_SIZE(spi_config)
 
#define ARDUINO_SPI_D11D12D13   SPI_DEV(1)
 Provide ARDUINO_SPI_D11D12D13 explicitly, as the first SPI interface is connected to the radio.
 
static const spi_conf_t spi_config []
 

I2C configuration

#define I2C_1_ISR   isr_i2c2_er
 
#define I2C_NUMOF   ARRAY_SIZE(i2c_config)
 
static const i2c_conf_t i2c_config []
 

ADC configuration

Note that we do not configure all ADC channels, and not in the STM32WL55JC order.

Instead, we just define 6 ADC channels, for the Nucleo Arduino header pins A0-A5 and the internal VBAT channel.

The appropriate ADC device and channel for each pin can be found in the board manual in the pin assignment table. The format of the entries is ADC1_IN[Y], where [Y] - describes the used channel - indexed from 1. For example: ADC1_IN10 is channel 10

For Nucleo-WL55JC this information is in the board manual: Table 17.

VBAT is connected ADC1_IN14 internal line and a voltage divider is used, so that only 1/3 of the actual VBAT is measured. This allows for a supply voltage higher than the reference voltage.

For STM32WL55JC more information is provided in the MCU datasheet, in section 3.20.3 - Vbat battery voltage monitoring.

#define ADC_NUMOF   ARRAY_SIZE(adc_config)
 
#define VBAT_ADC   ADC_LINE(6)
 VBAT ADC line.
 
static const adc_conf_t adc_config []
 

Variable Documentation

◆ adc_config

const adc_conf_t adc_config[]
static
Initial value:
= {
{GPIO_PIN(PORT_B, 1), .chan = 5},
{GPIO_PIN(PORT_B, 2), .chan = 4},
{GPIO_PIN(PORT_A, 10), .chan = 6},
{GPIO_PIN(PORT_B, 4), .chan = 3},
{GPIO_PIN(PORT_B, 14), .chan = 1},
{GPIO_PIN(PORT_B, 13), .chan = 0},
{GPIO_UNDEF, .chan = 14},
}
@ PORT_B
port B
Definition: periph_cpu.h:48
@ PORT_A
port A
Definition: periph_cpu.h:47
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
Definition: periph_cpu.h:46
#define GPIO_UNDEF
Definition of a fitting UNDEF value.

Definition at line 177 of file periph_conf.h.

◆ i2c_config

const i2c_conf_t i2c_config[]
static
Initial value:
= {
{
.dev = I2C2,
.speed = I2C_SPEED_NORMAL,
.scl_pin = GPIO_PIN(PORT_A, 12),
.sda_pin = GPIO_PIN(PORT_A, 11),
.scl_af = GPIO_AF4,
.sda_af = GPIO_AF4,
.bus = APB1,
.rcc_mask = RCC_APB1ENR1_I2C2EN,
.rcc_sw_mask = RCC_CCIPR_I2C2SEL_1,
.irqn = I2C2_ER_IRQn,
}
}
@ GPIO_AF4
use alternate function 4
Definition: cpu_gpio.h:106
@ APB1
Advanced Peripheral Bus 1
Definition: periph_cpu.h:79
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
Definition: periph_cpu.h:278

Definition at line 132 of file periph_conf.h.

◆ uart_config

const uart_conf_t uart_config[]
static
Initial value:
= {
{
.dev = LPUART1,
.rcc_mask = RCC_APB1ENR2_LPUART1EN,
.rx_pin = GPIO_PIN(PORT_A, 3),
.tx_pin = GPIO_PIN(PORT_A, 2),
.rx_af = GPIO_AF8,
.tx_af = GPIO_AF8,
.bus = APB12,
.irqn = LPUART1_IRQn,
.type = STM32_LPUART,
.clk_src = 0,
},
{
.dev = USART1,
.rcc_mask = RCC_APB2ENR_USART1EN,
.rx_pin = GPIO_PIN(PORT_B, 7),
.tx_pin = GPIO_PIN(PORT_B, 6),
.rx_af = GPIO_AF7,
.tx_af = GPIO_AF7,
.bus = APB2,
.irqn = USART1_IRQn,
.type = STM32_USART,
.clk_src = 0,
},
}
@ GPIO_AF8
use alternate function 8
Definition: cpu_gpio.h:111
@ GPIO_AF7
use alternate function 7
Definition: cpu_gpio.h:109
@ STM32_LPUART
STM32 Low-power UART (LPUART) module type.
Definition: cpu_uart.h:39
@ STM32_USART
STM32 USART module type.
Definition: cpu_uart.h:38
@ APB2
Advanced Peripheral Bus 2
Definition: periph_cpu.h:80

Definition at line 51 of file periph_conf.h.