boards/samr21-xpro/include/periph_conf.h¶
Configuration of CPU peripherals for the Atmel SAM R21 Xplained Pro board.
-
CLOCK_USE_PLL¶ 1
(1)
-
CLOCK_PLL_MUL¶ 1
(47U) /* must be >= 31 & <= 95 */
-
CLOCK_PLL_DIV¶ 1
(1U) /* adjust to your needs */
-
CLOCK_CORECLOCK¶ 1
(((CLOCK_PLL_MUL + 1) * 1000000U) / CLOCK_PLL_DIV)
-
TIMER_NUMOF¶ 1
(2U)
-
TIMER_0_EN¶ 1
1
-
TIMER_1_EN¶ 1
1
-
TIMER_0_DEV¶ 1
TC3->COUNT16
-
TIMER_0_CHANNELS¶ 1
2
-
TIMER_0_MAX_VALUE¶ 1
(0xffff)
-
TIMER_0_ISR¶ 1
isr_tc3
-
TIMER_1_DEV¶ 1
TC4->COUNT32
-
TIMER_1_CHANNELS¶ 1
2
-
TIMER_1_MAX_VALUE¶ 1
(0xffffffff)
-
TIMER_1_ISR¶ 1
isr_tc4
-
UART_0_ISR¶ 1
isr_sercom0
-
UART_1_ISR¶ 1
isr_sercom5
-
UART_NUMOF¶ 1
(sizeof(uart_config) / sizeof(uart_config[0]))
-
const uart_conf_t
uart_config()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
= { { .dev = &SERCOM0->USART, .rx_pin = GPIO_PIN(PA,5), .tx_pin = GPIO_PIN(PA,4), .mux = GPIO_MUX_D, .rx_pad = UART_PAD_RX_1, .tx_pad = UART_PAD_TX_0, .flags = UART_FLAG_NONE, .gclk_src = GCLK_CLKCTRL_GEN_GCLK0 }, { .dev = &SERCOM5->USART, .rx_pin = GPIO_PIN(PA,23), .tx_pin = GPIO_PIN(PA,22), .mux = GPIO_MUX_D, .rx_pad = UART_PAD_RX_1, .tx_pad = UART_PAD_TX_0, .flags = UART_FLAG_NONE, .gclk_src = GCLK_CLKCTRL_GEN_GCLK0 } }
-
PWM_0_EN¶ 1
1
-
PWM_1_EN¶ 1
1
-
PWM_MAX_CHANNELS¶ 1
3
-
PWM_0_CHANNELS¶ 1
PWM_MAX_CHANNELS
-
PWM_1_CHANNELS¶ 1
PWM_MAX_CHANNELS
-
PWM_NUMOF¶ 1
(2U)
-
const pwm_conf_t
pwm_config()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
= { {TCC1, { { GPIO_PIN(PA, 6), GPIO_MUX_E, 0 }, { GPIO_PIN(PA, 7), GPIO_MUX_E, 1 }, { GPIO_UNDEF, (gpio_mux_t)0, 2 } }}, {TCC0, { { GPIO_PIN(PA, 16), GPIO_MUX_F, 0 }, { GPIO_PIN(PA, 18), GPIO_MUX_F, 2 }, { GPIO_PIN(PA, 19), GPIO_MUX_F, 3 } }} }
-
SPI_NUMOF¶ 1
(sizeof(spi_config) / sizeof(spi_config[0]))
-
const spi_conf_t
spi_config()¶ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
= { { .dev = &SERCOM4->SPI, .miso_pin = GPIO_PIN(PC, 19), .mosi_pin = GPIO_PIN(PB, 30), .clk_pin = GPIO_PIN(PC, 18), .miso_mux = GPIO_MUX_F, .mosi_mux = GPIO_MUX_F, .clk_mux = GPIO_MUX_F, .miso_pad = SPI_PAD_MISO_0, .mosi_pad = SPI_PAD_MOSI_2_SCK_3 }, { .dev = &SERCOM5->SPI, .miso_pin = GPIO_PIN(PB, 2), .mosi_pin = GPIO_PIN(PB, 22), .clk_pin = GPIO_PIN(PB, 23), .miso_mux = GPIO_MUX_D, .mosi_mux = GPIO_MUX_D, .clk_mux = GPIO_MUX_D, .miso_pad = SPI_PAD_MISO_0, .mosi_pad = SPI_PAD_MOSI_2_SCK_3 } }
-
I2C_NUMOF¶ 1
(sizeof(i2c_config) / sizeof(i2c_config[0]))
-
const i2c_conf_t
i2c_config()¶ 1 2 3 4 5 6 7 8 9 10 11
= { { .dev = &(SERCOM3->I2CM), .speed = I2C_SPEED_NORMAL, .scl_pin = GPIO_PIN(PA, 17), .sda_pin = GPIO_PIN(PA, 16), .mux = GPIO_MUX_D, .gclk_src = GCLK_CLKCTRL_GEN_GCLK0, .flags = I2C_FLAG_NONE } }
-
RTC_NUMOF¶ 1
(1U)
-
RTC_DEV¶ 1
RTC->MODE2
-
RTT_NUMOF¶ 1
(1U)
-
RTT_DEV¶ 1
RTC->MODE0
-
RTT_IRQ¶ 1
RTC_IRQn
-
RTT_IRQ_PRIO¶ 1
10
-
RTT_ISR¶ 1
isr_rtc
-
RTT_MAX_VALUE¶ 1
(0xffffffff)
-
RTT_FREQUENCY¶ 1
(32768U) /* in Hz. For changes see `rtt.c` */
-
RTT_RUNSTDBY¶ 1
(1) /* Keep RTT running in sleep states */
-
ADC_0_EN¶ 1
1
-
ADC_MAX_CHANNELS¶ 1
14
-
ADC_0_DEV¶ 1
ADC
-
ADC_0_IRQ¶ 1
ADC_IRQn
-
ADC_0_CLK_SOURCE¶ 1
0 /* GCLK_GENERATOR_0 */
-
ADC_0_PRESCALER¶ 1
ADC_CTRLB_PRESCALER_DIV512
-
ADC_0_NEG_INPUT¶ 1
ADC_INPUTCTRL_MUXNEG_GND
-
ADC_0_GAIN_FACTOR_DEFAULT¶ 1
ADC_INPUTCTRL_GAIN_1X
-
ADC_0_REF_DEFAULT¶ 1
ADC_REFCTRL_REFSEL_INT1V
-
ADC_0_CHANNELS¶ 1
(2U)
-
ADC_NUMOF¶ 1
ADC_0_CHANNELS
-
const adc_conf_chan_t
adc_channels()¶ 1 2 3 4 5
= { {GPIO_PIN(PA, 6), ADC_INPUTCTRL_MUXPOS_PIN6}, {GPIO_PIN(PA, 7), ADC_INPUTCTRL_MUXPOS_PIN7}, }