Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
arduino_iomap.h
Go to the documentation of this file.
1
/*
2
* SPDX-FileCopyrightText: 2017 Inria
3
* SPDX-License-Identifier: LGPL-2.1-only
4
*/
5
6
#pragma once
7
21
#include "
periph/gpio.h
"
22
#include "
periph/adc.h
"
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
32
#define ARDUINO_UART_D0D1 UART_DEV(1)
39
#if !defined(ARDUINO_SPI_D11D12D13) && defined(SPI_NUMOF)
46
# define ARDUINO_SPI_D11D12D13 SPI_DEV(0)
47
#endif
57
#define ARDUINO_I2C_UNO I2C_DEV(0)
64
#if defined(CPU_MODEL_STM32F303ZE)
65
# define ARDUINO_PIN_0 GPIO_PIN(PORT_C, 5)
66
# define ARDUINO_PIN_1 GPIO_PIN(PORT_C, 4)
67
#elif defined(CPU_FAM_STM32L4) || defined(CPU_FAM_STM32L5)
68
# define ARDUINO_PIN_0 GPIO_PIN(PORT_D, 9)
69
# define ARDUINO_PIN_1 GPIO_PIN(PORT_D, 8)
70
#elif defined(CPU_FAM_STM32U5)
71
# define ARDUINO_PIN_0 GPIO_PIN(PORT_G, 8)
72
# define ARDUINO_PIN_1 GPIO_PIN(PORT_G, 7)
73
#else
74
# define ARDUINO_PIN_0 GPIO_PIN(PORT_G, 9)
75
# define ARDUINO_PIN_1 GPIO_PIN(PORT_G, 14)
76
#endif
77
#define ARDUINO_PIN_2 GPIO_PIN(PORT_F, 15)
78
#define ARDUINO_PIN_3 GPIO_PIN(PORT_E, 13)
79
#define ARDUINO_PIN_4 GPIO_PIN(PORT_F, 14)
80
#define ARDUINO_PIN_5 GPIO_PIN(PORT_E, 11)
81
#define ARDUINO_PIN_6 GPIO_PIN(PORT_E, 9)
82
#define ARDUINO_PIN_7 GPIO_PIN(PORT_F, 13)
83
84
#define ARDUINO_PIN_8 GPIO_PIN(PORT_F, 12)
85
#define ARDUINO_PIN_9 GPIO_PIN(PORT_D, 15)
86
#define ARDUINO_PIN_10 GPIO_PIN(PORT_D, 14)
87
#define ARDUINO_PIN_11 GPIO_PIN(PORT_A, 7)
88
#define ARDUINO_PIN_12 GPIO_PIN(PORT_A, 6)
89
#define ARDUINO_PIN_13 GPIO_PIN(PORT_A, 5)
90
91
#define ARDUINO_PIN_14 GPIO_PIN(PORT_B, 9)
92
#define ARDUINO_PIN_15 GPIO_PIN(PORT_B, 8)
93
94
#if defined(CPU_FAM_STM32L5) || defined(CPU_FAM_STM32U5)
95
# define ARDUINO_PIN_16 GPIO_PIN(PORT_A, 3)
96
# define ARDUINO_PIN_17 GPIO_PIN(PORT_A, 2)
97
# define ARDUINO_PIN_18 GPIO_PIN(PORT_C, 3)
98
# define ARDUINO_PIN_19 GPIO_PIN(PORT_B, 0)
99
# define ARDUINO_PIN_20 GPIO_PIN(PORT_C, 1)
100
# define ARDUINO_PIN_21 GPIO_PIN(PORT_C, 0)
101
#else
102
# define ARDUINO_PIN_16 GPIO_PIN(PORT_A, 3)
103
# define ARDUINO_PIN_17 GPIO_PIN(PORT_C, 0)
104
# define ARDUINO_PIN_18 GPIO_PIN(PORT_C, 3)
105
# if defined(CPU_MODEL_STM32F413ZH) || defined(CPU_MODEL_STM32F412ZG) || \
106
defined(CPU_FAM_STM32L4)
107
# define ARDUINO_PIN_19 GPIO_PIN(PORT_C, 1)
108
# define ARDUINO_PIN_20 GPIO_PIN(PORT_C, 4)
109
# define ARDUINO_PIN_21 GPIO_PIN(PORT_C, 5)
110
# elif defined(CPU_MODEL_STM32F303ZE)
111
# define ARDUINO_PIN_19 GPIO_PIN(PORT_D, 11)
112
# define ARDUINO_PIN_20 GPIO_PIN(PORT_D, 12)
113
# define ARDUINO_PIN_21 GPIO_PIN(PORT_D, 13)
114
# else
115
# define ARDUINO_PIN_19 GPIO_PIN(PORT_F, 3)
116
# define ARDUINO_PIN_20 GPIO_PIN(PORT_F, 5)
117
# define ARDUINO_PIN_21 GPIO_PIN(PORT_F, 10)
118
# endif
119
#endif
120
121
#define ARDUINO_PIN_LAST 21
128
#define ARDUINO_PIN_A0 ARDUINO_PIN_16
129
#define ARDUINO_PIN_A1 ARDUINO_PIN_17
130
#define ARDUINO_PIN_A2 ARDUINO_PIN_18
131
#define ARDUINO_PIN_A3 ARDUINO_PIN_19
132
#define ARDUINO_PIN_A4 ARDUINO_PIN_20
133
#define ARDUINO_PIN_A5 ARDUINO_PIN_21
140
#define ARDUINO_A0 ADC_LINE(0)
141
#define ARDUINO_A1 ADC_LINE(1)
142
#define ARDUINO_A2 ADC_LINE(2)
143
#define ARDUINO_A3 ADC_LINE(3)
144
#define ARDUINO_A4 ADC_LINE(4)
145
#define ARDUINO_A5 ADC_LINE(5)
146
147
#define ARDUINO_ANALOG_PIN_LAST 5
150
#ifdef __cplusplus
151
}
152
#endif
153
adc.h
Low-level ADC peripheral driver interface definitions.
gpio.h
Low-level GPIO peripheral driver interface definitions.
Generated on Sat Sep 6 2025 20:14:01 by
1.9.1