Loading...
Searching...
No Matches
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 []
 

Macro Definition Documentation

◆ ADC_NUMOF

#define ADC_NUMOF   ARRAY_SIZE(adc_config)

Definition at line 187 of file periph_conf.h.

◆ ARDUINO_SPI_D11D12D13

#define ARDUINO_SPI_D11D12D13   SPI_DEV(1)

Provide ARDUINO_SPI_D11D12D13 explicitly, as the first SPI interface is connected to the radio.

Definition at line 125 of file periph_conf.h.

◆ CONFIG_BOARD_HAS_HSE

#define CONFIG_BOARD_HAS_HSE   1

Definition at line 31 of file periph_conf.h.

◆ CONFIG_BOARD_HAS_LSE

#define CONFIG_BOARD_HAS_LSE   1

Definition at line 26 of file periph_conf.h.

◆ CONFIG_CLOCK_HSE

#define CONFIG_CLOCK_HSE   MHZ(32)

Definition at line 35 of file periph_conf.h.

◆ I2C_1_ISR

#define I2C_1_ISR   isr_i2c2_er

Definition at line 147 of file periph_conf.h.

◆ I2C_NUMOF

#define I2C_NUMOF   ARRAY_SIZE(i2c_config)

Definition at line 149 of file periph_conf.h.

◆ SPI_NUMOF

#define SPI_NUMOF   ARRAY_SIZE(spi_config)

Definition at line 120 of file periph_conf.h.

◆ UART_0_ISR

#define UART_0_ISR   (isr_lpuart1)

Definition at line 78 of file periph_conf.h.

◆ UART_1_ISR

#define UART_1_ISR   (isr_usart1)

Definition at line 79 of file periph_conf.h.

◆ UART_NUMOF

#define UART_NUMOF   ARRAY_SIZE(uart_config)

Definition at line 81 of file periph_conf.h.

◆ VBAT_ADC

#define VBAT_ADC   ADC_LINE(6)

VBAT ADC line.

Definition at line 189 of file periph_conf.h.

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,
}
}
@ I2C_SPEED_NORMAL
normal mode: ~100 kbit/s
Definition periph_cpu.h:278
@ GPIO_AF4
use alternate function 4
Definition cpu_gpio.h:106
@ APB1
Advanced Peripheral Bus 1
Definition periph_cpu.h:79

Definition at line 132 of file periph_conf.h.

◆ spi_config

const spi_conf_t spi_config[]
static

Definition at line 88 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.