Skip to content

Commit 69a7e3e

Browse files
committed
STM32F1: standard pin names
1 parent d21ff75 commit 69a7e3e

File tree

1 file changed

+108
-129
lines changed
  • targets/TARGET_STM/TARGET_STM32F1/TARGET_STM32F103xB/TARGET_NUCLEO_F103RB

1 file changed

+108
-129
lines changed

targets/TARGET_STM/TARGET_STM32F1/TARGET_STM32F103xB/TARGET_NUCLEO_F103RB/PinNames.h

Lines changed: 108 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,18 @@
11
/* mbed Microcontroller Library
2-
*******************************************************************************
3-
* Copyright (c) 2018, STMicroelectronics
2+
* SPDX-License-Identifier: BSD-3-Clause
3+
******************************************************************************
4+
*
5+
* Copyright (c) 2016-2021 STMicroelectronics.
46
* All rights reserved.
57
*
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
812
*
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+
******************************************************************************
1714
*
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/STM32F103R(8-B)Tx.xml
2916
*/
3017

3118
/* MBED TARGET LIST: NUCLEO_F103RB */
@@ -41,121 +28,109 @@ extern "C" {
4128
#endif
4229

4330
typedef enum {
44-
PA_0 = 0x00,
45-
PA_1 = 0x01,
46-
PA_2 = 0x02,
47-
PA_3 = 0x03,
48-
PA_4 = 0x04,
49-
PA_5 = 0x05,
50-
PA_6 = 0x06,
51-
PA_7 = 0x07,
52-
PA_8 = 0x08,
53-
PA_9 = 0x09,
54-
PA_10 = 0x0A,
55-
PA_11 = 0x0B,
56-
PA_12 = 0x0C,
57-
PA_13 = 0x0D,
58-
PA_14 = 0x0E,
59-
PA_15 = 0x0F,
60-
61-
PB_0 = 0x10,
62-
PB_1 = 0x11,
63-
PB_2 = 0x12,
64-
PB_3 = 0x13,
65-
PB_4 = 0x14,
66-
PB_5 = 0x15,
67-
PB_6 = 0x16,
68-
PB_7 = 0x17,
69-
PB_8 = 0x18,
70-
PB_9 = 0x19,
71-
PB_10 = 0x1A,
72-
PB_11 = 0x1B,
73-
PB_12 = 0x1C,
74-
PB_13 = 0x1D,
75-
PB_14 = 0x1E,
76-
PB_15 = 0x1F,
77-
78-
PC_0 = 0x20,
79-
PC_1 = 0x21,
80-
PC_2 = 0x22,
81-
PC_3 = 0x23,
82-
PC_4 = 0x24,
83-
PC_5 = 0x25,
84-
PC_6 = 0x26,
85-
PC_7 = 0x27,
86-
PC_8 = 0x28,
87-
PC_9 = 0x29,
88-
PC_10 = 0x2A,
89-
PC_11 = 0x2B,
90-
PC_12 = 0x2C,
91-
PC_13 = 0x2D,
92-
PC_14 = 0x2E,
93-
PC_15 = 0x2F,
94-
95-
PD_0 = 0x30,
96-
PD_1 = 0x31,
97-
PD_2 = 0x32,
98-
99-
// ADC internal channels
100-
ADC_TEMP = 0xF0,
101-
ADC_VREF = 0xF1,
102-
103-
// Arduino connector namings
104-
A0 = PA_0,
105-
A1 = PA_1,
106-
A2 = PA_4,
107-
A3 = PB_0,
108-
A4 = PC_1,
109-
A5 = PC_0,
110-
D0 = PA_3,
111-
D1 = PA_2,
112-
D2 = PA_10,
113-
D3 = PB_3,
114-
D4 = PB_5,
115-
D5 = PB_4,
116-
D6 = PB_10,
117-
D7 = PA_8,
118-
D8 = PA_9,
119-
D9 = PC_7,
120-
D10 = PB_6,
121-
D11 = PA_7,
122-
D12 = PA_6,
123-
D13 = PA_5,
124-
D14 = PB_9,
125-
D15 = PB_8,
31+
ALT0 = 0x100,
32+
} ALTx;
33+
34+
typedef enum {
35+
PA_0 = 0x00,
36+
PA_1 = 0x01,
37+
PA_2 = 0x02,
38+
PA_3 = 0x03,
39+
PA_4 = 0x04,
40+
PA_5 = 0x05,
41+
PA_6 = 0x06,
42+
PA_7 = 0x07,
43+
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
44+
PA_8 = 0x08,
45+
PA_9 = 0x09,
46+
PA_10 = 0x0A,
47+
PA_11 = 0x0B,
48+
PA_12 = 0x0C,
49+
PA_13 = 0x0D,
50+
PA_14 = 0x0E,
51+
PA_15 = 0x0F,
52+
PB_0 = 0x10,
53+
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
54+
PB_1 = 0x11,
55+
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
56+
PB_2 = 0x12,
57+
PB_3 = 0x13,
58+
PB_4 = 0x14,
59+
PB_5 = 0x15,
60+
PB_6 = 0x16,
61+
PB_7 = 0x17,
62+
PB_8 = 0x18,
63+
PB_9 = 0x19,
64+
PB_10 = 0x1A,
65+
PB_11 = 0x1B,
66+
PB_12 = 0x1C,
67+
PB_13 = 0x1D,
68+
PB_14 = 0x1E,
69+
PB_15 = 0x1F,
70+
PC_0 = 0x20,
71+
PC_1 = 0x21,
72+
PC_2 = 0x22,
73+
PC_3 = 0x23,
74+
PC_4 = 0x24,
75+
PC_5 = 0x25,
76+
PC_6 = 0x26,
77+
PC_7 = 0x27,
78+
PC_8 = 0x28,
79+
PC_9 = 0x29,
80+
PC_10 = 0x2A,
81+
PC_11 = 0x2B,
82+
PC_12 = 0x2C,
83+
PC_13 = 0x2D,
84+
PC_14 = 0x2E,
85+
PC_15 = 0x2F,
86+
PD_0 = 0x30,
87+
PD_1 = 0x31,
88+
PD_2 = 0x32,
89+
90+
/**** ADC internal channels ****/
91+
92+
ADC_TEMP = 0xF0, // Internal pin virtual value
93+
ADC_VREF = 0xF1, // Internal pin virtual value
94+
95+
#ifdef TARGET_FF_ARDUINO_UNO
96+
// Arduino Uno (Rev3) pins
97+
ARDUINO_UNO_A0 = PA_0,
98+
ARDUINO_UNO_A1 = PA_1,
99+
ARDUINO_UNO_A2 = PA_4,
100+
ARDUINO_UNO_A3 = PB_0,
101+
ARDUINO_UNO_A4 = PC_1,
102+
ARDUINO_UNO_A5 = PC_0,
103+
104+
ARDUINO_UNO_D0 = PA_3,
105+
ARDUINO_UNO_D1 = PA_2,
106+
ARDUINO_UNO_D2 = PA_10,
107+
ARDUINO_UNO_D3 = PB_3,
108+
ARDUINO_UNO_D4 = PB_5,
109+
ARDUINO_UNO_D5 = PB_4,
110+
ARDUINO_UNO_D6 = PB_10,
111+
ARDUINO_UNO_D7 = PA_8,
112+
ARDUINO_UNO_D8 = PA_9,
113+
ARDUINO_UNO_D9 = PC_7,
114+
ARDUINO_UNO_D10 = PB_6,
115+
ARDUINO_UNO_D11 = PA_7,
116+
ARDUINO_UNO_D12 = PA_6,
117+
ARDUINO_UNO_D13 = PA_5,
118+
ARDUINO_UNO_D14 = PB_9,
119+
ARDUINO_UNO_D15 = PB_8,
120+
#endif
126121

127122
// STDIO for console print
128123
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
129-
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
124+
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
130125
#else
131-
STDIO_UART_TX = PA_2,
126+
CONSOLE_TX = PA_2,
132127
#endif
133128
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
134-
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
129+
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
135130
#else
136-
STDIO_UART_RX = PA_3,
131+
CONSOLE_RX = PA_3,
137132
#endif
138133

139-
// Generic signals namings
140-
LED1 = PA_5,
141-
LED2 = PA_5,
142-
LED3 = PA_5,
143-
LED4 = PA_5,
144-
USER_BUTTON = PC_13,
145-
// Standardized button names
146-
BUTTON1 = USER_BUTTON,
147-
SERIAL_TX = STDIO_UART_TX,
148-
SERIAL_RX = STDIO_UART_RX,
149-
CONSOLE_TX = STDIO_UART_TX,
150-
CONSOLE_RX = STDIO_UART_RX,
151-
I2C_SCL = PB_8,
152-
I2C_SDA = PB_9,
153-
SPI_MOSI = PA_7,
154-
SPI_MISO = PA_6,
155-
SPI_SCK = PA_5,
156-
SPI_CS = PB_6,
157-
PWM_OUT = PB_3,
158-
159134
/**** USB pins ****/
160135
USB_DM = PA_11,
161136
USB_DP = PA_12,
@@ -178,6 +153,10 @@ typedef enum {
178153
NC = (int)0xFFFFFFFF
179154
} PinName;
180155

156+
// Standardized LED and button names
157+
#define LED1 PA_5 // LD2 [Green Led]
158+
#define BUTTON1 PC_13 // B1 [Blue PushButton]
159+
181160
#ifdef __cplusplus
182161
}
183162
#endif

0 commit comments

Comments
 (0)