Based on the libraries by Zoltan Hudak Added #ifdefs to avoid compile errors, so it is easy to select target board: Bluepill, Maple Mini, Nucleo F103, Nucleo F103 with external 8MHz crystal

Dependents:   STM32F103variants_example

Committer:
vargham
Date:
Tue Mar 14 18:56:40 2017 +0000
Revision:
2:6badfd5a7ced
Parent:
1:994d8ac00e38
Child:
3:e149147d7c13
ifdef bug fixed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vargham 0:c3e42fcc1c16 1 /* mbed Microcontroller Library
vargham 0:c3e42fcc1c16 2 *******************************************************************************
vargham 0:c3e42fcc1c16 3 * Copyright (c) 2014, STMicroelectronics
vargham 0:c3e42fcc1c16 4 * All rights reserved.
vargham 0:c3e42fcc1c16 5 *
vargham 0:c3e42fcc1c16 6 * Redistribution and use in source and binary forms, with or without
vargham 0:c3e42fcc1c16 7 * modification, are permitted provided that the following conditions are met:
vargham 0:c3e42fcc1c16 8 *
vargham 0:c3e42fcc1c16 9 * 1. Redistributions of source code must retain the above copyright notice,
vargham 0:c3e42fcc1c16 10 * this list of conditions and the following disclaimer.
vargham 0:c3e42fcc1c16 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
vargham 0:c3e42fcc1c16 12 * this list of conditions and the following disclaimer in the documentation
vargham 0:c3e42fcc1c16 13 * and/or other materials provided with the distribution.
vargham 0:c3e42fcc1c16 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
vargham 0:c3e42fcc1c16 15 * may be used to endorse or promote products derived from this software
vargham 0:c3e42fcc1c16 16 * without specific prior written permission.
vargham 0:c3e42fcc1c16 17 *
vargham 0:c3e42fcc1c16 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
vargham 0:c3e42fcc1c16 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
vargham 0:c3e42fcc1c16 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
vargham 0:c3e42fcc1c16 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
vargham 0:c3e42fcc1c16 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
vargham 0:c3e42fcc1c16 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
vargham 0:c3e42fcc1c16 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
vargham 0:c3e42fcc1c16 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
vargham 0:c3e42fcc1c16 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
vargham 0:c3e42fcc1c16 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
vargham 0:c3e42fcc1c16 28 *******************************************************************************
vargham 0:c3e42fcc1c16 29 *
vargham 0:c3e42fcc1c16 30 * Modified for Maple mini board by Zoltan Hudak, 2016
vargham 0:c3e42fcc1c16 31 * Modified for Bluepill board by Zoltan Hudak, 2016
vargham 0:c3e42fcc1c16 32 * Modified for #ifdef selectable boards and added Nucleo external oscillator by Mark Peter Vargha, 2017
vargham 0:c3e42fcc1c16 33 * Added #ifdefs to avoid compile errors, so it is easy to select target board: Bluepill, Maple Mini, Nucleo F103, Nucleo F103 with external 8MHz crystal
vargham 0:c3e42fcc1c16 34 *
vargham 0:c3e42fcc1c16 35 */
vargham 0:c3e42fcc1c16 36
vargham 0:c3e42fcc1c16 37 #ifndef STM32F103variants_H_INCLUDED
vargham 0:c3e42fcc1c16 38 #define STM32F103variants_H_INCLUDED
vargham 0:c3e42fcc1c16 39
vargham 0:c3e42fcc1c16 40 #include "mbed.h"
vargham 0:c3e42fcc1c16 41
vargham 0:c3e42fcc1c16 42 bool confSysClock(void);
vargham 0:c3e42fcc1c16 43
vargham 2:6badfd5a7ced 44 #define USE_BLUEPILL
vargham 2:6badfd5a7ced 45 //#define USE_MAPLE_MINI
vargham 2:6badfd5a7ced 46 //#define USE_NUCLEO_EXTOSC
vargham 0:c3e42fcc1c16 47
vargham 2:6badfd5a7ced 48 #if defined USE_BLUEPILL
vargham 0:c3e42fcc1c16 49
vargham 0:c3e42fcc1c16 50 #ifndef MBED_PINNAMES_H
vargham 0:c3e42fcc1c16 51 #define MBED_PINNAMES_H
vargham 0:c3e42fcc1c16 52
vargham 0:c3e42fcc1c16 53 #include "cmsis.h"
vargham 0:c3e42fcc1c16 54
vargham 0:c3e42fcc1c16 55 #ifdef __cplusplus
vargham 0:c3e42fcc1c16 56 extern "C" {
vargham 2:6badfd5a7ced 57 #endif //__cplusplus
vargham 0:c3e42fcc1c16 58
vargham 0:c3e42fcc1c16 59 #define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((MODE & 0x0F) << 0) |\
vargham 0:c3e42fcc1c16 60 ((PUPD & 0x07) << 4) |\
vargham 0:c3e42fcc1c16 61 ((AFNUM & 0x0F) << 7)))
vargham 0:c3e42fcc1c16 62
vargham 0:c3e42fcc1c16 63 #define STM_PIN_DATA_EXT(MODE, PUPD, AFNUM, CHANNEL, INVERTED) ((int)(((MODE & 0x0F) << 0) |\
vargham 0:c3e42fcc1c16 64 ((PUPD & 0x07) << 4) |\
vargham 0:c3e42fcc1c16 65 ((AFNUM & 0x0F) << 7) |\
vargham 0:c3e42fcc1c16 66 ((CHANNEL & 0x0F) << 11) |\
vargham 0:c3e42fcc1c16 67 ((INVERTED & 0x01) << 15)))
vargham 0:c3e42fcc1c16 68
vargham 0:c3e42fcc1c16 69 #define STM_PIN_MODE(X) (((X) >> 0) & 0x0F)
vargham 0:c3e42fcc1c16 70 #define STM_PIN_PUPD(X) (((X) >> 4) & 0x07)
vargham 0:c3e42fcc1c16 71 #define STM_PIN_AFNUM(X) (((X) >> 7) & 0x0F)
vargham 0:c3e42fcc1c16 72 #define STM_PIN_CHANNEL(X) (((X) >> 11) & 0x0F)
vargham 0:c3e42fcc1c16 73 #define STM_PIN_INVERTED(X) (((X) >> 15) & 0x01)
vargham 0:c3e42fcc1c16 74
vargham 0:c3e42fcc1c16 75 #define STM_MODE_INPUT (0)
vargham 0:c3e42fcc1c16 76 #define STM_MODE_OUTPUT_PP (1)
vargham 0:c3e42fcc1c16 77 #define STM_MODE_OUTPUT_OD (2)
vargham 0:c3e42fcc1c16 78 #define STM_MODE_AF_PP (3)
vargham 0:c3e42fcc1c16 79 #define STM_MODE_AF_OD (4)
vargham 0:c3e42fcc1c16 80 #define STM_MODE_ANALOG (5)
vargham 0:c3e42fcc1c16 81 #define STM_MODE_IT_RISING (6)
vargham 0:c3e42fcc1c16 82 #define STM_MODE_IT_FALLING (7)
vargham 0:c3e42fcc1c16 83 #define STM_MODE_IT_RISING_FALLING (8)
vargham 0:c3e42fcc1c16 84 #define STM_MODE_EVT_RISING (9)
vargham 0:c3e42fcc1c16 85 #define STM_MODE_EVT_FALLING (10)
vargham 0:c3e42fcc1c16 86 #define STM_MODE_EVT_RISING_FALLING (11)
vargham 0:c3e42fcc1c16 87 #define STM_MODE_IT_EVT_RESET (12)
vargham 0:c3e42fcc1c16 88
vargham 0:c3e42fcc1c16 89 // High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H)
vargham 0:c3e42fcc1c16 90 // Low nibble = pin number
vargham 0:c3e42fcc1c16 91 #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF)
vargham 0:c3e42fcc1c16 92 #define STM_PIN(X) ((uint32_t)(X) & 0xF)
vargham 0:c3e42fcc1c16 93
vargham 0:c3e42fcc1c16 94 typedef enum {
vargham 0:c3e42fcc1c16 95 PIN_INPUT,
vargham 0:c3e42fcc1c16 96 PIN_OUTPUT
vargham 0:c3e42fcc1c16 97 } PinDirection;
vargham 0:c3e42fcc1c16 98
vargham 0:c3e42fcc1c16 99 typedef enum {
vargham 0:c3e42fcc1c16 100 // Not connected
vargham 0:c3e42fcc1c16 101 NC = (int)0xFFFFFFFF,
vargham 0:c3e42fcc1c16 102
vargham 0:c3e42fcc1c16 103 // Ports
vargham 0:c3e42fcc1c16 104 PA_0 = 0x00,
vargham 0:c3e42fcc1c16 105 PA_1 = 0x01,
vargham 0:c3e42fcc1c16 106 PA_2 = 0x02,
vargham 0:c3e42fcc1c16 107 PA_3 = 0x03,
vargham 0:c3e42fcc1c16 108 PA_4 = 0x04,
vargham 0:c3e42fcc1c16 109 PA_5 = 0x05,
vargham 0:c3e42fcc1c16 110 PA_6 = 0x06,
vargham 0:c3e42fcc1c16 111 PA_7 = 0x07,
vargham 0:c3e42fcc1c16 112 PA_8 = 0x08,
vargham 0:c3e42fcc1c16 113 PA_9 = 0x09,
vargham 0:c3e42fcc1c16 114 PA_10 = 0x0A,
vargham 0:c3e42fcc1c16 115 PA_11 = 0x0B,
vargham 0:c3e42fcc1c16 116 PA_12 = 0x0C,
vargham 0:c3e42fcc1c16 117 PA_13 = NC,
vargham 0:c3e42fcc1c16 118 PA_14 = NC,
vargham 0:c3e42fcc1c16 119 PA_15 = 0x0F,
vargham 0:c3e42fcc1c16 120
vargham 0:c3e42fcc1c16 121 PB_0 = 0x10,
vargham 0:c3e42fcc1c16 122 PB_1 = 0x11,
vargham 0:c3e42fcc1c16 123 PB_2 = NC,
vargham 0:c3e42fcc1c16 124 PB_3 = 0x13,
vargham 0:c3e42fcc1c16 125 PB_4 = 0x14,
vargham 0:c3e42fcc1c16 126 PB_5 = 0x15,
vargham 0:c3e42fcc1c16 127 PB_6 = 0x16,
vargham 0:c3e42fcc1c16 128 PB_7 = 0x17,
vargham 0:c3e42fcc1c16 129 PB_8 = 0x18,
vargham 0:c3e42fcc1c16 130 PB_9 = 0x19,
vargham 0:c3e42fcc1c16 131 PB_10 = 0x1A,
vargham 0:c3e42fcc1c16 132 PB_11 = 0x1B,
vargham 0:c3e42fcc1c16 133 PB_12 = 0x1C,
vargham 0:c3e42fcc1c16 134 PB_13 = 0x1D,
vargham 0:c3e42fcc1c16 135 PB_14 = 0x1E,
vargham 0:c3e42fcc1c16 136 PB_15 = 0x1F,
vargham 0:c3e42fcc1c16 137
vargham 0:c3e42fcc1c16 138 PC_0 = NC,
vargham 0:c3e42fcc1c16 139 PC_1 = NC,
vargham 0:c3e42fcc1c16 140 PC_2 = NC,
vargham 0:c3e42fcc1c16 141 PC_3 = NC,
vargham 0:c3e42fcc1c16 142 PC_4 = NC,
vargham 0:c3e42fcc1c16 143 PC_5 = NC,
vargham 0:c3e42fcc1c16 144 PC_6 = NC,
vargham 0:c3e42fcc1c16 145 PC_7 = NC,
vargham 0:c3e42fcc1c16 146 PC_8 = NC,
vargham 0:c3e42fcc1c16 147 PC_9 = NC,
vargham 0:c3e42fcc1c16 148 PC_10 = NC,
vargham 0:c3e42fcc1c16 149 PC_11 = NC,
vargham 0:c3e42fcc1c16 150 PC_12 = NC,
vargham 0:c3e42fcc1c16 151 PC_13 = 0x2D,
vargham 0:c3e42fcc1c16 152 PC_14 = 0x2E,
vargham 0:c3e42fcc1c16 153 PC_15 = 0x2F,
vargham 0:c3e42fcc1c16 154
vargham 0:c3e42fcc1c16 155 PD_2 = NC,
vargham 0:c3e42fcc1c16 156
vargham 0:c3e42fcc1c16 157 // ADC internal channels
vargham 0:c3e42fcc1c16 158 ADC_TEMP = 0xF0,
vargham 0:c3e42fcc1c16 159 ADC_VREF = 0xF1,
vargham 0:c3e42fcc1c16 160
vargham 0:c3e42fcc1c16 161 // Arduino connector namings
vargham 0:c3e42fcc1c16 162 A0 = PA_0,
vargham 0:c3e42fcc1c16 163 A1 = PA_1,
vargham 0:c3e42fcc1c16 164 A2 = PA_4,
vargham 0:c3e42fcc1c16 165 A3 = PB_0,
vargham 0:c3e42fcc1c16 166 A4 = NC,
vargham 0:c3e42fcc1c16 167 A5 = NC,
vargham 0:c3e42fcc1c16 168 D0 = PA_3,
vargham 0:c3e42fcc1c16 169 D1 = PA_2,
vargham 0:c3e42fcc1c16 170 D2 = PA_10,
vargham 0:c3e42fcc1c16 171 D3 = PB_3,
vargham 0:c3e42fcc1c16 172 D4 = PB_5,
vargham 0:c3e42fcc1c16 173 D5 = PB_4,
vargham 0:c3e42fcc1c16 174 D6 = PB_10,
vargham 0:c3e42fcc1c16 175 D7 = PA_8,
vargham 0:c3e42fcc1c16 176 D8 = PA_9,
vargham 0:c3e42fcc1c16 177 D9 = NC,
vargham 0:c3e42fcc1c16 178 D10 = PB_6,
vargham 0:c3e42fcc1c16 179 D11 = PA_7,
vargham 0:c3e42fcc1c16 180 D12 = PA_6,
vargham 0:c3e42fcc1c16 181 D13 = PA_5,
vargham 0:c3e42fcc1c16 182 D14 = PB_9,
vargham 0:c3e42fcc1c16 183 D15 = PB_8,
vargham 0:c3e42fcc1c16 184
vargham 0:c3e42fcc1c16 185 // Generic signals namings
vargham 0:c3e42fcc1c16 186 LED1 = PC_13,
vargham 0:c3e42fcc1c16 187 LED2 = NC,
vargham 0:c3e42fcc1c16 188 LED3 = NC,
vargham 0:c3e42fcc1c16 189 LED4 = NC,
vargham 0:c3e42fcc1c16 190 USER_BUTTON = NC,
vargham 0:c3e42fcc1c16 191 SERIAL_TX = PA_2,
vargham 0:c3e42fcc1c16 192 SERIAL_RX = PA_3,
vargham 0:c3e42fcc1c16 193 USBTX = PA_2,
vargham 0:c3e42fcc1c16 194 USBRX = PA_3,
vargham 0:c3e42fcc1c16 195 I2C_SCL = PB_8,
vargham 0:c3e42fcc1c16 196 I2C_SDA = PB_9,
vargham 0:c3e42fcc1c16 197 SPI_MOSI = PA_7,
vargham 0:c3e42fcc1c16 198 SPI_MISO = PA_6,
vargham 0:c3e42fcc1c16 199 SPI_SCK = PA_5,
vargham 0:c3e42fcc1c16 200 SPI_CS = PB_6,
vargham 0:c3e42fcc1c16 201 PWM_OUT = PB_3
vargham 0:c3e42fcc1c16 202 } PinName;
vargham 0:c3e42fcc1c16 203
vargham 0:c3e42fcc1c16 204 typedef enum {
vargham 0:c3e42fcc1c16 205 PullNone = 0,
vargham 0:c3e42fcc1c16 206 PullUp = 1,
vargham 0:c3e42fcc1c16 207 PullDown = 2,
vargham 0:c3e42fcc1c16 208 OpenDrain = 3,
vargham 0:c3e42fcc1c16 209 PullDefault = PullNone
vargham 0:c3e42fcc1c16 210 } PinMode;
vargham 0:c3e42fcc1c16 211
vargham 0:c3e42fcc1c16 212 #ifdef __cplusplus
vargham 0:c3e42fcc1c16 213 }
vargham 0:c3e42fcc1c16 214 #endif
vargham 0:c3e42fcc1c16 215
vargham 0:c3e42fcc1c16 216 #endif //MBED_PINNAMES_H
vargham 0:c3e42fcc1c16 217
vargham 0:c3e42fcc1c16 218 #endif //USE_BLUEPILL
vargham 0:c3e42fcc1c16 219
vargham 0:c3e42fcc1c16 220 /*
vargham 0:c3e42fcc1c16 221 *********************************************************************************************************************
vargham 0:c3e42fcc1c16 222 */
vargham 0:c3e42fcc1c16 223
vargham 2:6badfd5a7ced 224 #if defined USE_MAPLE_MINI
vargham 0:c3e42fcc1c16 225
vargham 0:c3e42fcc1c16 226 #ifndef MBED_PINNAMES_H
vargham 0:c3e42fcc1c16 227 #define MBED_PINNAMES_H
vargham 0:c3e42fcc1c16 228
vargham 0:c3e42fcc1c16 229 #include "cmsis.h"
vargham 0:c3e42fcc1c16 230
vargham 0:c3e42fcc1c16 231 #ifdef __cplusplus
vargham 0:c3e42fcc1c16 232 extern "C" {
vargham 0:c3e42fcc1c16 233 #endif
vargham 0:c3e42fcc1c16 234
vargham 0:c3e42fcc1c16 235 #define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((MODE & 0x0F) << 0) |\
vargham 0:c3e42fcc1c16 236 ((PUPD & 0x07) << 4) |\
vargham 0:c3e42fcc1c16 237 ((AFNUM & 0x0F) << 7)))
vargham 0:c3e42fcc1c16 238
vargham 0:c3e42fcc1c16 239 #define STM_PIN_DATA_EXT(MODE, PUPD, AFNUM, CHANNEL, INVERTED) ((int)(((MODE & 0x0F) << 0) |\
vargham 0:c3e42fcc1c16 240 ((PUPD & 0x07) << 4) |\
vargham 0:c3e42fcc1c16 241 ((AFNUM & 0x0F) << 7) |\
vargham 0:c3e42fcc1c16 242 ((CHANNEL & 0x0F) << 11) |\
vargham 0:c3e42fcc1c16 243 ((INVERTED & 0x01) << 15)))
vargham 0:c3e42fcc1c16 244
vargham 0:c3e42fcc1c16 245 #define STM_PIN_MODE(X) (((X) >> 0) & 0x0F)
vargham 0:c3e42fcc1c16 246 #define STM_PIN_PUPD(X) (((X) >> 4) & 0x07)
vargham 0:c3e42fcc1c16 247 #define STM_PIN_AFNUM(X) (((X) >> 7) & 0x0F)
vargham 0:c3e42fcc1c16 248 #define STM_PIN_CHANNEL(X) (((X) >> 11) & 0x0F)
vargham 0:c3e42fcc1c16 249 #define STM_PIN_INVERTED(X) (((X) >> 15) & 0x01)
vargham 0:c3e42fcc1c16 250
vargham 0:c3e42fcc1c16 251 #define STM_MODE_INPUT (0)
vargham 0:c3e42fcc1c16 252 #define STM_MODE_OUTPUT_PP (1)
vargham 0:c3e42fcc1c16 253 #define STM_MODE_OUTPUT_OD (2)
vargham 0:c3e42fcc1c16 254 #define STM_MODE_AF_PP (3)
vargham 0:c3e42fcc1c16 255 #define STM_MODE_AF_OD (4)
vargham 0:c3e42fcc1c16 256 #define STM_MODE_ANALOG (5)
vargham 0:c3e42fcc1c16 257 #define STM_MODE_IT_RISING (6)
vargham 0:c3e42fcc1c16 258 #define STM_MODE_IT_FALLING (7)
vargham 0:c3e42fcc1c16 259 #define STM_MODE_IT_RISING_FALLING (8)
vargham 0:c3e42fcc1c16 260 #define STM_MODE_EVT_RISING (9)
vargham 0:c3e42fcc1c16 261 #define STM_MODE_EVT_FALLING (10)
vargham 0:c3e42fcc1c16 262 #define STM_MODE_EVT_RISING_FALLING (11)
vargham 0:c3e42fcc1c16 263 #define STM_MODE_IT_EVT_RESET (12)
vargham 0:c3e42fcc1c16 264
vargham 0:c3e42fcc1c16 265 // High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H)
vargham 0:c3e42fcc1c16 266 // Low nibble = pin number
vargham 0:c3e42fcc1c16 267 #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF)
vargham 0:c3e42fcc1c16 268 #define STM_PIN(X) ((uint32_t)(X) & 0xF)
vargham 0:c3e42fcc1c16 269
vargham 0:c3e42fcc1c16 270 typedef enum {
vargham 0:c3e42fcc1c16 271 PIN_INPUT,
vargham 0:c3e42fcc1c16 272 PIN_OUTPUT
vargham 0:c3e42fcc1c16 273 } PinDirection;
vargham 0:c3e42fcc1c16 274
vargham 0:c3e42fcc1c16 275 typedef enum {
vargham 0:c3e42fcc1c16 276 // Not connected
vargham 0:c3e42fcc1c16 277 NC = (int)0xFFFFFFFF,
vargham 0:c3e42fcc1c16 278
vargham 0:c3e42fcc1c16 279 PA_0 = 0x00,
vargham 0:c3e42fcc1c16 280 PA_1 = 0x01,
vargham 0:c3e42fcc1c16 281 PA_2 = 0x02,
vargham 0:c3e42fcc1c16 282 PA_3 = 0x03,
vargham 0:c3e42fcc1c16 283 PA_4 = 0x04,
vargham 0:c3e42fcc1c16 284 PA_5 = 0x05,
vargham 0:c3e42fcc1c16 285 PA_6 = 0x06,
vargham 0:c3e42fcc1c16 286 PA_7 = 0x07,
vargham 0:c3e42fcc1c16 287 PA_8 = 0x08,
vargham 0:c3e42fcc1c16 288 PA_9 = 0x09,
vargham 0:c3e42fcc1c16 289 PA_10 = 0x0A,
vargham 0:c3e42fcc1c16 290 PA_11 = 0x0B,
vargham 0:c3e42fcc1c16 291 PA_12 = 0x0C,
vargham 0:c3e42fcc1c16 292 PA_13 = 0x0D,
vargham 0:c3e42fcc1c16 293 PA_14 = 0x0E,
vargham 0:c3e42fcc1c16 294 PA_15 = 0x0F,
vargham 0:c3e42fcc1c16 295
vargham 0:c3e42fcc1c16 296 PB_0 = 0x10,
vargham 0:c3e42fcc1c16 297 PB_1 = 0x11,
vargham 0:c3e42fcc1c16 298 PB_2 = 0x12,
vargham 0:c3e42fcc1c16 299 PB_3 = 0x13,
vargham 0:c3e42fcc1c16 300 PB_4 = 0x14,
vargham 0:c3e42fcc1c16 301 PB_5 = 0x15,
vargham 0:c3e42fcc1c16 302 PB_6 = 0x16,
vargham 0:c3e42fcc1c16 303 PB_7 = 0x17,
vargham 0:c3e42fcc1c16 304 PB_8 = 0x18,
vargham 0:c3e42fcc1c16 305 PB_9 = 0x19,
vargham 0:c3e42fcc1c16 306 PB_10 = 0x1A,
vargham 0:c3e42fcc1c16 307 PB_11 = 0x1B,
vargham 0:c3e42fcc1c16 308 PB_12 = 0x1C,
vargham 0:c3e42fcc1c16 309 PB_13 = 0x1D,
vargham 0:c3e42fcc1c16 310 PB_14 = 0x1E,
vargham 0:c3e42fcc1c16 311 PB_15 = 0x1F,
vargham 0:c3e42fcc1c16 312
vargham 0:c3e42fcc1c16 313 PC_0 = NC,
vargham 0:c3e42fcc1c16 314 PC_1 = NC,
vargham 0:c3e42fcc1c16 315 PC_2 = NC,
vargham 0:c3e42fcc1c16 316 PC_3 = NC,
vargham 0:c3e42fcc1c16 317 PC_4 = NC,
vargham 0:c3e42fcc1c16 318 PC_5 = NC,
vargham 0:c3e42fcc1c16 319 PC_6 = NC,
vargham 0:c3e42fcc1c16 320 PC_7 = NC,
vargham 0:c3e42fcc1c16 321 PC_8 = NC,
vargham 0:c3e42fcc1c16 322 PC_9 = NC,
vargham 0:c3e42fcc1c16 323 PC_10 = NC,
vargham 0:c3e42fcc1c16 324 PC_11 = NC,
vargham 0:c3e42fcc1c16 325 PC_12 = NC,
vargham 0:c3e42fcc1c16 326 PC_13 = 0x2D,
vargham 0:c3e42fcc1c16 327 PC_14 = 0x2E,
vargham 0:c3e42fcc1c16 328 PC_15 = 0x2F,
vargham 0:c3e42fcc1c16 329
vargham 0:c3e42fcc1c16 330 PD_2 = NC,
vargham 0:c3e42fcc1c16 331
vargham 0:c3e42fcc1c16 332 // ADC internal channels
vargham 0:c3e42fcc1c16 333 ADC_TEMP = 0xF0,
vargham 0:c3e42fcc1c16 334 ADC_VREF = 0xF1,
vargham 0:c3e42fcc1c16 335
vargham 0:c3e42fcc1c16 336 // Arduino connector namings
vargham 0:c3e42fcc1c16 337 A0 = PA_0,
vargham 0:c3e42fcc1c16 338 A1 = PA_1,
vargham 0:c3e42fcc1c16 339 A2 = PA_4,
vargham 0:c3e42fcc1c16 340 A3 = PB_0,
vargham 0:c3e42fcc1c16 341 A4 = NC,
vargham 0:c3e42fcc1c16 342 A5 = NC,
vargham 0:c3e42fcc1c16 343 D0 = PA_3,
vargham 0:c3e42fcc1c16 344 D1 = PA_2,
vargham 0:c3e42fcc1c16 345 D2 = PA_10,
vargham 0:c3e42fcc1c16 346 D3 = PB_3,
vargham 0:c3e42fcc1c16 347 D4 = PB_5,
vargham 0:c3e42fcc1c16 348 D5 = PB_4,
vargham 0:c3e42fcc1c16 349 D6 = PB_10,
vargham 0:c3e42fcc1c16 350 D7 = PA_8,
vargham 0:c3e42fcc1c16 351 D8 = PA_9,
vargham 0:c3e42fcc1c16 352 D9 = NC,
vargham 0:c3e42fcc1c16 353 D10 = PB_6,
vargham 0:c3e42fcc1c16 354 D11 = PA_7,
vargham 0:c3e42fcc1c16 355 D12 = PA_6,
vargham 0:c3e42fcc1c16 356 D13 = PA_5,
vargham 0:c3e42fcc1c16 357 D14 = PB_9,
vargham 0:c3e42fcc1c16 358 D15 = PB_8,
vargham 0:c3e42fcc1c16 359
vargham 0:c3e42fcc1c16 360 // Generic signals namings
vargham 0:c3e42fcc1c16 361 LED1 = PB_1,
vargham 0:c3e42fcc1c16 362 USER_BUTTON = PB_8,
vargham 0:c3e42fcc1c16 363 SERIAL_TX = PA_2,
vargham 0:c3e42fcc1c16 364 SERIAL_RX = PA_3,
vargham 0:c3e42fcc1c16 365 USBTX = PA_2,
vargham 0:c3e42fcc1c16 366 USBRX = PA_3,
vargham 0:c3e42fcc1c16 367 I2C_SCL = PB_6,
vargham 0:c3e42fcc1c16 368 I2C_SDA = PB_7,
vargham 0:c3e42fcc1c16 369 SPI_MOSI = PA_7,
vargham 0:c3e42fcc1c16 370 SPI_MISO = PA_6,
vargham 0:c3e42fcc1c16 371 SPI_SCK = PA_5,
vargham 0:c3e42fcc1c16 372 SPI_CS = PB_6,
vargham 0:c3e42fcc1c16 373 PWM_OUT = PB_3
vargham 0:c3e42fcc1c16 374
vargham 0:c3e42fcc1c16 375 } PinName;
vargham 0:c3e42fcc1c16 376
vargham 0:c3e42fcc1c16 377 typedef enum {
vargham 0:c3e42fcc1c16 378 PullNone = 0,
vargham 0:c3e42fcc1c16 379 PullUp = 1,
vargham 0:c3e42fcc1c16 380 PullDown = 2,
vargham 0:c3e42fcc1c16 381 OpenDrain = 3,
vargham 0:c3e42fcc1c16 382 PullDefault = PullNone
vargham 0:c3e42fcc1c16 383 } PinMode;
vargham 0:c3e42fcc1c16 384
vargham 0:c3e42fcc1c16 385 #ifdef __cplusplus
vargham 0:c3e42fcc1c16 386 }
vargham 2:6badfd5a7ced 387 #endif //__cplusplus
vargham 0:c3e42fcc1c16 388
vargham 0:c3e42fcc1c16 389 #endif //MBED_PINNAMES_H
vargham 0:c3e42fcc1c16 390
vargham 0:c3e42fcc1c16 391 #endif //USE_MAPLE_MINI
vargham 0:c3e42fcc1c16 392
vargham 0:c3e42fcc1c16 393 #endif /* STM32F103variants_H_INCLUDED */