Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
periph_conf.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2017 Freie Universität Berlin
3
* 2017 Inria
4
*
5
* This file is subject to the terms and conditions of the GNU Lesser
6
* General Public License v2.1. See the file LICENSE in the top level
7
* directory for more details.
8
*/
9
21
#ifndef PERIPH_CONF_H
22
#define PERIPH_CONF_H
23
24
/* Add specific clock configuration (HSE, LSE) for this board here */
25
#ifndef CONFIG_BOARD_HAS_LSE
26
#define CONFIG_BOARD_HAS_LSE 1
27
#endif
28
29
#include "periph_cpu.h"
30
#include "clk_conf.h"
31
#include "
cfg_i2c1_pb6_pb7.h
"
32
#include "cfg_rtt_default.h"
33
#include "
cfg_timer_tim2.h
"
34
35
#ifdef __cplusplus
36
extern
"C"
{
37
#endif
38
43
static
const
uart_conf_t
uart_config[] = {
44
{
45
.
dev
= USART2,
46
.rcc_mask = RCC_APB1ENR_USART2EN,
47
.rx_pin =
GPIO_PIN
(
PORT_A
, 15),
48
.tx_pin =
GPIO_PIN
(
PORT_A
, 2),
49
.rx_af =
GPIO_AF4
,
50
.tx_af =
GPIO_AF4
,
51
.bus =
APB1
,
52
.irqn = USART2_IRQn,
53
.type =
STM32_USART
,
54
.clk_src = 0,
/* Use APB clock */
55
}
56
};
57
58
#define UART_0_ISR (isr_usart2)
59
60
#define UART_NUMOF ARRAY_SIZE(uart_config)
61
67
static
const
pwm_conf_t
pwm_config[] = {
68
{
69
.
dev
= TIM21,
70
.rcc_mask = RCC_APB2ENR_TIM21EN,
71
.chan = { { .pin =
GPIO_PIN
(
PORT_B
, 6)
/* D5 */
, .cc_chan = 0 },
72
{ .pin =
GPIO_UNDEF
, .cc_chan = 0 },
73
{ .pin =
GPIO_UNDEF
, .cc_chan = 0 },
74
{ .pin =
GPIO_UNDEF
, .cc_chan = 0 } },
75
.af =
GPIO_AF5
,
76
.bus =
APB2
77
}
78
};
79
80
#define PWM_NUMOF ARRAY_SIZE(pwm_config)
81
87
static
const
spi_conf_t
spi_config[] = {
88
{
89
.
dev
= SPI1,
90
.mosi_pin =
GPIO_PIN
(
PORT_B
, 5),
91
.miso_pin =
GPIO_PIN
(
PORT_B
, 4),
92
.sclk_pin =
GPIO_PIN
(
PORT_B
, 3),
93
.cs_pin =
GPIO_UNDEF
,
94
.mosi_af =
GPIO_AF0
,
95
.miso_af =
GPIO_AF0
,
96
.sclk_af =
GPIO_AF0
,
97
.cs_af =
GPIO_AF0
,
98
.rccmask = RCC_APB2ENR_SPI1EN,
99
.apbbus =
APB2
100
}
101
};
102
103
#define SPI_NUMOF ARRAY_SIZE(spi_config)
104
110
static
const
adc_conf_t
adc_config[] = {
111
{
GPIO_PIN
(
PORT_A
, 0), 0 },
/* Pin A0 */
112
{
GPIO_PIN
(
PORT_A
, 1), 1 },
/* Pin A1 */
113
{
GPIO_PIN
(
PORT_A
, 3), 3 },
/* Pin A2 */
114
{
GPIO_PIN
(
PORT_A
, 4), 4 },
/* Pin A3 */
115
{
GPIO_PIN
(
PORT_A
, 5), 5 },
/* Pin A4 */
116
{
GPIO_PIN
(
PORT_A
, 6), 6 },
/* Pin A5 */
117
{
GPIO_PIN
(
PORT_A
, 7), 7 },
/* Pin A6 */
118
};
119
120
#define ADC_NUMOF ARRAY_SIZE(adc_config)
121
123
#ifdef __cplusplus
124
}
125
#endif
126
127
#endif
/* PERIPH_CONF_H */
128
GPIO_AF4
@ GPIO_AF4
use alternate function 4
Definition:
periph_cpu_common.h:90
pwm_conf_t::dev
mini_timer_t * dev
Timer used.
Definition:
periph_cpu_common.h:154
GPIO_AF5
@ GPIO_AF5
use alternate function 5
Definition:
periph_cpu_common.h:91
PORT_A
@ PORT_A
port A
Definition:
periph_cpu.h:36
pwm_conf_t
PWM device configuration.
Definition:
periph_cpu_common.h:153
GPIO_UNDEF
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
Definition:
periph_cpu_common.h:52
uart_conf_t
UART device configuration.
Definition:
periph_cpu.h:166
STM32_USART
@ STM32_USART
STM32 USART module type.
Definition:
periph_cpu.h:583
uart_conf_t::dev
cc2538_uart_t * dev
pointer to the used UART device
Definition:
periph_cpu.h:167
adc_conf_t
ADC device configuration.
Definition:
periph_cpu.h:74
GPIO_PIN
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
Definition:
periph_cpu.h:35
APB2
@ APB2
APB2 bus.
Definition:
periph_cpu.h:177
GPIO_AF0
@ GPIO_AF0
use alternate function 0
Definition:
periph_cpu_common.h:86
cfg_timer_tim2.h
Common configuration for STM32 Timer peripheral based on TIM2.
PORT_B
@ PORT_B
port B
Definition:
periph_cpu.h:37
spi_conf_t::dev
SPI_Type * dev
SPI device to use.
Definition:
periph_cpu.h:465
spi_conf_t
SPI configuration structure type.
Definition:
periph_cpu.h:273
cfg_i2c1_pb6_pb7.h
Common configuration for STM32 I2C.
APB1
@ APB1
APB1 bus.
Definition:
periph_cpu.h:176
Generated on Tue Nov 24 2020 19:46:50 by
1.8.17