1
1
/* mbed Microcontroller Library
2
- *******************************************************************************
3
- * Copyright (c) 2018, STMicroelectronics
2
+ * SPDX-License-Identifier: BSD-3-Clause
3
+ ******************************************************************************
4
+ *
5
+ * Copyright (c) 2016-2021 STMicroelectronics.
4
6
* All rights reserved.
5
7
*
6
- * Redistribution and use in source and binary forms, with or without
7
- * modification, are permitted provided that the following conditions are met:
8
+ * This software component is licensed by ST under BSD 3-Clause license,
9
+ * the "License"; You may not use this file except in compliance with the
10
+ * License. You may obtain a copy of the License at:
11
+ * opensource.org/licenses/BSD-3-Clause
8
12
*
9
- * 1. Redistributions of source code must retain the above copyright notice,
10
- * this list of conditions and the following disclaimer.
11
- * 2. Redistributions in binary form must reproduce the above copyright notice,
12
- * this list of conditions and the following disclaimer in the documentation
13
- * and/or other materials provided with the distribution.
14
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
15
- * may be used to endorse or promote products derived from this software
16
- * without specific prior written permission.
13
+ ******************************************************************************
17
14
*
18
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
- *******************************************************************************
15
+ * Automatically generated from STM32CubeMX/db/mcu/STM32F401R(D-E)Tx.xml
29
16
*/
30
17
31
18
/* MBED TARGET LIST: NUCLEO_F401RE */
@@ -42,141 +29,114 @@ extern "C" {
42
29
43
30
typedef enum {
44
31
ALT0 = 0x100 ,
45
- ALT1 = 0x200 ,
46
- ALT2 = 0x300 ,
47
- ALT3 = 0x400
48
32
} ALTx ;
49
33
50
34
typedef enum {
51
- PA_0 = 0x00 ,
52
- PA_1 = 0x01 ,
53
- PA_2 = 0x02 ,
54
- PA_2_ALT0 = PA_2 | ALT0 ,
55
- PA_3 = 0x03 ,
56
- PA_3_ALT0 = PA_3 | ALT0 ,
57
- PA_4 = 0x04 ,
58
- PA_4_ALT0 = PA_4 | ALT0 ,
59
- PA_5 = 0x05 ,
60
- PA_6 = 0x06 ,
61
- PA_7 = 0x07 ,
62
- PA_7_ALT0 = PA_7 | ALT0 ,
63
- PA_8 = 0x08 ,
64
- PA_9 = 0x09 ,
65
- PA_10 = 0x0A ,
66
- PA_11 = 0x0B ,
67
- PA_12 = 0x0C ,
68
- PA_13 = 0x0D ,
69
- PA_14 = 0x0E ,
70
- PA_15 = 0x0F ,
71
- PA_15_ALT0 = PA_15 | ALT0 ,
72
-
73
- PB_0 = 0x10 ,
74
- PB_0_ALT0 = PB_0 | ALT0 ,
75
- PB_1 = 0x11 ,
76
- PB_1_ALT0 = PB_1 | ALT0 ,
77
- PB_2 = 0x12 ,
78
- PB_3 = 0x13 ,
79
- PB_3_ALT0 = PB_3 | ALT0 ,
80
- PB_4 = 0x14 ,
81
- PB_4_ALT0 = PB_4 | ALT0 ,
82
- PB_5 = 0x15 ,
83
- PB_5_ALT0 = PB_5 | ALT0 ,
84
- PB_6 = 0x16 ,
85
- PB_7 = 0x17 ,
86
- PB_8 = 0x18 ,
87
- PB_8_ALT0 = PB_8 | ALT0 ,
88
- PB_9 = 0x19 ,
89
- PB_9_ALT0 = PB_9 | ALT0 ,
90
- PB_10 = 0x1A ,
91
- PB_12 = 0x1C ,
92
- PB_13 = 0x1D ,
93
- PB_14 = 0x1E ,
94
- PB_15 = 0x1F ,
95
-
96
- PC_0 = 0x20 ,
97
- PC_1 = 0x21 ,
98
- PC_2 = 0x22 ,
99
- PC_3 = 0x23 ,
100
- PC_4 = 0x24 ,
101
- PC_5 = 0x25 ,
102
- PC_6 = 0x26 ,
103
- PC_7 = 0x27 ,
104
- PC_8 = 0x28 ,
105
- PC_9 = 0x29 ,
106
- PC_10 = 0x2A ,
107
- PC_11 = 0x2B ,
108
- PC_12 = 0x2C ,
109
- PC_13 = 0x2D ,
110
- PC_14 = 0x2E , // Connected to RCC_OSC32_IN
111
- PC_15 = 0x2F , // Connected to RCC_OSC32_OUT
112
-
113
- PD_2 = 0x32 ,
114
-
115
- PH_0 = 0x70 , // Connected to RCC_OSC_IN
116
- PH_1 = 0x71 , // Connected to RCC_OSC_OUT
117
-
118
- // ADC internal channels
35
+ PA_0 = 0x00 ,
36
+ PA_1 = 0x01 ,
37
+ PA_2 = 0x02 ,
38
+ PA_3 = 0x03 ,
39
+ PA_4 = 0x04 ,
40
+ PA_4_ALT0 = PA_4 | ALT0 , // same pin used for alternate HW
41
+ PA_5 = 0x05 ,
42
+ PA_6 = 0x06 ,
43
+ PA_7 = 0x07 ,
44
+ PA_7_ALT0 = PA_7 | ALT0 , // same pin used for alternate HW
45
+ PA_8 = 0x08 ,
46
+ PA_9 = 0x09 ,
47
+ PA_10 = 0x0A ,
48
+ PA_11 = 0x0B ,
49
+ PA_12 = 0x0C ,
50
+ PA_13 = 0x0D ,
51
+ PA_14 = 0x0E ,
52
+ PA_15 = 0x0F ,
53
+ PA_15_ALT0 = PA_15 | ALT0 , // same pin used for alternate HW
54
+ PB_0 = 0x10 ,
55
+ PB_0_ALT0 = PB_0 | ALT0 , // same pin used for alternate HW
56
+ PB_1 = 0x11 ,
57
+ PB_1_ALT0 = PB_1 | ALT0 , // same pin used for alternate HW
58
+ PB_2 = 0x12 ,
59
+ PB_3 = 0x13 ,
60
+ PB_3_ALT0 = PB_3 | ALT0 , // same pin used for alternate HW
61
+ PB_4 = 0x14 ,
62
+ PB_4_ALT0 = PB_4 | ALT0 , // same pin used for alternate HW
63
+ PB_5 = 0x15 ,
64
+ PB_5_ALT0 = PB_5 | ALT0 , // same pin used for alternate HW
65
+ PB_6 = 0x16 ,
66
+ PB_7 = 0x17 ,
67
+ PB_8 = 0x18 ,
68
+ PB_8_ALT0 = PB_8 | ALT0 , // same pin used for alternate HW
69
+ PB_9 = 0x19 ,
70
+ PB_9_ALT0 = PB_9 | ALT0 , // same pin used for alternate HW
71
+ PB_10 = 0x1A ,
72
+ PB_12 = 0x1C ,
73
+ PB_13 = 0x1D ,
74
+ PB_14 = 0x1E ,
75
+ PB_15 = 0x1F ,
76
+ PC_0 = 0x20 ,
77
+ PC_1 = 0x21 ,
78
+ PC_2 = 0x22 ,
79
+ PC_3 = 0x23 ,
80
+ PC_4 = 0x24 ,
81
+ PC_5 = 0x25 ,
82
+ PC_6 = 0x26 ,
83
+ PC_7 = 0x27 ,
84
+ PC_8 = 0x28 ,
85
+ PC_9 = 0x29 ,
86
+ PC_10 = 0x2A ,
87
+ PC_11 = 0x2B ,
88
+ PC_12 = 0x2C ,
89
+ PC_13 = 0x2D ,
90
+ PC_14 = 0x2E ,
91
+ PC_15 = 0x2F ,
92
+ PD_2 = 0x32 ,
93
+ PH_0 = 0x70 ,
94
+ PH_1 = 0x71 ,
95
+
96
+ /**** ADC internal channels ****/
119
97
ADC_TEMP = 0xF0 ,
120
98
ADC_VREF = 0xF1 ,
121
99
ADC_VBAT = 0xF2 ,
122
100
123
- // Arduino connector namings
124
- A0 = PA_0 ,
125
- A1 = PA_1 ,
126
- A2 = PA_4 ,
127
- A3 = PB_0 ,
128
- A4 = PC_1 ,
129
- A5 = PC_0 ,
130
- D0 = PA_3 ,
131
- D1 = PA_2 ,
132
- D2 = PA_10 ,
133
- D3 = PB_3 ,
134
- D4 = PB_5 ,
135
- D5 = PB_4 ,
136
- D6 = PB_10 ,
137
- D7 = PA_8 ,
138
- D8 = PA_9 ,
139
- D9 = PC_7 ,
140
- D10 = PB_6 ,
141
- D11 = PA_7 ,
142
- D12 = PA_6 ,
143
- D13 = PA_5 ,
144
- D14 = PB_9 ,
145
- D15 = PB_8 ,
101
+ #ifdef TARGET_FF_ARDUINO_UNO
102
+ // Arduino Uno (Rev3) pins
103
+ ARDUINO_UNO_A0 = PA_0 ,
104
+ ARDUINO_UNO_A1 = PA_1 ,
105
+ ARDUINO_UNO_A2 = PA_4 ,
106
+ ARDUINO_UNO_A3 = PB_0 ,
107
+ ARDUINO_UNO_A4 = PC_1 ,
108
+ ARDUINO_UNO_A5 = PC_0 ,
109
+
110
+ ARDUINO_UNO_D0 = PA_3 ,
111
+ ARDUINO_UNO_D1 = PA_2 ,
112
+ ARDUINO_UNO_D2 = PA_10 ,
113
+ ARDUINO_UNO_D3 = PB_3 ,
114
+ ARDUINO_UNO_D4 = PB_5 ,
115
+ ARDUINO_UNO_D5 = PB_4 ,
116
+ ARDUINO_UNO_D6 = PB_10 ,
117
+ ARDUINO_UNO_D7 = PA_8 ,
118
+ ARDUINO_UNO_D8 = PA_9 ,
119
+ ARDUINO_UNO_D9 = PC_7 ,
120
+ ARDUINO_UNO_D10 = PB_6 ,
121
+ ARDUINO_UNO_D11 = PA_7 ,
122
+ ARDUINO_UNO_D12 = PA_6 ,
123
+ ARDUINO_UNO_D13 = PA_5 ,
124
+ ARDUINO_UNO_D14 = PB_9 ,
125
+ ARDUINO_UNO_D15 = PB_8 ,
126
+ #endif
146
127
147
128
// STDIO for console print
148
129
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
149
- STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX ,
130
+ CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX ,
150
131
#else
151
- STDIO_UART_TX = PA_2 ,
132
+ CONSOLE_TX = PA_2 ,
152
133
#endif
153
134
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
154
- STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX ,
135
+ CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX ,
155
136
#else
156
- STDIO_UART_RX = PA_3 ,
137
+ CONSOLE_RX = PA_3 ,
157
138
#endif
158
139
159
- // Generic signals namings
160
- LED1 = PA_5 ,
161
- LED2 = PA_5 ,
162
- LED3 = PA_5 ,
163
- LED4 = PA_5 ,
164
- LED_RED = LED1 ,
165
- USER_BUTTON = PC_13 ,
166
- // Standardized button names
167
- BUTTON1 = USER_BUTTON ,
168
- SERIAL_TX = STDIO_UART_TX ,
169
- SERIAL_RX = STDIO_UART_RX ,
170
- CONSOLE_TX = STDIO_UART_TX ,
171
- CONSOLE_RX = STDIO_UART_RX ,
172
- I2C_SCL = PB_8 ,
173
- I2C_SDA = PB_9 ,
174
- SPI_MOSI = PA_7 ,
175
- SPI_MISO = PA_6 ,
176
- SPI_SCK = PA_5 ,
177
- SPI_CS = PB_6 ,
178
- PWM_OUT = PB_3 ,
179
-
180
140
/**** USB FS pins ****/
181
141
USB_OTG_FS_DM = PA_11 ,
182
142
USB_OTG_FS_DP = PA_12 ,
@@ -202,6 +162,10 @@ typedef enum {
202
162
NC = (int )0xFFFFFFFF
203
163
} PinName ;
204
164
165
+ // Standardized LED and button names
166
+ #define LED1 PA_5 // LD2 [Green Led]
167
+ #define BUTTON1 PC_13 // B1 [Blue PushButton]
168
+
205
169
#ifdef __cplusplus
206
170
}
207
171
#endif
0 commit comments