26 #include "periph_cpu.h" 63 #define CLOCK_USE_PLL (1) 67 #define CLOCK_PLL_MUL (47U) 68 #define CLOCK_PLL_DIV (1U) 69 #define CLOCK_CORECLOCK (((CLOCK_PLL_MUL + 1) * 1000000U) / CLOCK_PLL_DIV) 72 #define CLOCK_DIV (1U) 74 #define CLOCK_CORECLOCK (8000000 / CLOCK_DIV) 86 .pm_mask = PM_APBCMASK_TC3,
87 .gclk_ctrl = GCLK_CLKCTRL_ID_TCC2_TC3,
88 #if CLOCK_USE_PLL || CLOCK_USE_XOSC32_DFLL 89 .gclk_src = GCLK_CLKCTRL_GEN(1),
90 .prescaler = TC_CTRLA_PRESCALER_DIV1,
92 .gclk_src = GCLK_CLKCTRL_GEN(0),
93 .prescaler = TC_CTRLA_PRESCALER_DIV8,
95 .flags = TC_CTRLA_MODE_COUNT16,
100 .pm_mask = PM_APBCMASK_TC4 | PM_APBCMASK_TC5,
101 .gclk_ctrl = GCLK_CLKCTRL_ID_TC4_TC5,
102 #if CLOCK_USE_PLL || CLOCK_USE_XOSC32_DFLL 103 .gclk_src = GCLK_CLKCTRL_GEN(1),
104 .prescaler = TC_CTRLA_PRESCALER_DIV1,
106 .gclk_src = GCLK_CLKCTRL_GEN(0),
107 .prescaler = TC_CTRLA_PRESCALER_DIV8,
109 .flags = TC_CTRLA_MODE_COUNT32,
113 #define TIMER_0_MAX_VALUE 0xffff 116 #define TIMER_0_ISR isr_tc3 117 #define TIMER_1_ISR isr_tc4 119 #define TIMER_NUMOF ARRAY_SIZE(timer_config) 128 .
dev = &SERCOM3->USART,
135 .gclk_src = GCLK_CLKCTRL_GEN_GCLK0,
138 .dev = &SERCOM4->USART,
145 .gclk_src = GCLK_CLKCTRL_GEN_GCLK0,
150 #define UART_0_ISR isr_sercom3 151 #define UART_1_ISR isr_sercom4 153 #define UART_NUMOF ARRAY_SIZE(uart_config) 162 .
dev = &SERCOM1->SPI,
174 #define SPI_NUMOF ARRAY_SIZE(spi_config) 182 .
dev = &(SERCOM0->I2CM),
187 .gclk_src = GCLK_CLKCTRL_GEN_GCLK0,
191 .dev = &(SERCOM2->I2CM),
196 .gclk_src = GCLK_CLKCTRL_GEN_GCLK0,
201 #define I2C_NUMOF ARRAY_SIZE(i2c_config) 207 #define RTC_DEV RTC->MODE2 217 #define ADC_PRESCALER ADC_CTRLB_PRESCALER_DIV512 219 #define ADC_NEG_INPUT ADC_INPUTCTRL_MUXNEG_GND 220 #define ADC_GAIN_FACTOR_DEFAULT ADC_INPUTCTRL_GAIN_1X 221 #define ADC_REF_DEFAULT ADC_REFCTRL_REFSEL_INT1V 226 {
GPIO_PIN(
PA, 4), ADC_INPUTCTRL_MUXPOS_PIN4 },
227 {
GPIO_PIN(
PA, 5), ADC_INPUTCTRL_MUXPOS_PIN5 },
228 {
GPIO_PIN(
PA, 6), ADC_INPUTCTRL_MUXPOS_PIN6 },
229 {
GPIO_PIN(
PA, 7), ADC_INPUTCTRL_MUXPOS_PIN7 },
230 {
GPIO_PIN(
PA, 3), ADC_INPUTCTRL_MUXPOS_PIN1 },
231 {
GPIO_PIN(
PA, 2), ADC_INPUTCTRL_MUXPOS_PIN0 },
234 #define ADC_NUMOF ARRAY_SIZE(adc_channels) 246 .device = &USB->DEVICE,
select peripheral function D
cc2538_uart_t * dev
pointer to the used UART device
I2C configuration options.
Tc * dev
pointer to the used Timer device
static const gpio_t adc_channels[]
Static array with declared ADC channels.
SPI_Type * dev
SPI device to use.
ADC Channel Configuration.
select peripheral function C
select peripheral function G
USB peripheral parameters.
UART device configuration.
I2C_TypeDef * dev
USART device used.
SPI configuration structure type.
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
use pad 0 for MOSI, pad 1 for SCK
Timer device configuration.