mbed official / mbed-dev

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
Anna Bridge
Date:
Fri Jun 22 16:45:37 2018 +0100
Revision:
186:707f6e361f3e
Parent:
184:08ed48f1de7f
mbed-dev library. Release version 162

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 167:e84263d55307 1 /* mbed Microcontroller Library
AnnaBridge 184:08ed48f1de7f 2 * Copyright (c) 2006-2018 ARM Limited
AnnaBridge 167:e84263d55307 3 *
AnnaBridge 167:e84263d55307 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 167:e84263d55307 5 * you may not use this file except in compliance with the License.
AnnaBridge 167:e84263d55307 6 * You may obtain a copy of the License at
AnnaBridge 167:e84263d55307 7 *
AnnaBridge 167:e84263d55307 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 167:e84263d55307 9 *
AnnaBridge 167:e84263d55307 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 167:e84263d55307 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 167:e84263d55307 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 167:e84263d55307 13 * See the License for the specific language governing permissions and
AnnaBridge 167:e84263d55307 14 * limitations under the License.
AnnaBridge 167:e84263d55307 15 */
AnnaBridge 167:e84263d55307 16 #ifndef MBED_PINNAMES_H
AnnaBridge 167:e84263d55307 17 #define MBED_PINNAMES_H
AnnaBridge 167:e84263d55307 18
AnnaBridge 167:e84263d55307 19 #include "cmsis.h"
AnnaBridge 167:e84263d55307 20
Anna Bridge 186:707f6e361f3e 21 /* Pins used by mbed OS to identify STDIO UART pins */
Anna Bridge 186:707f6e361f3e 22 #define STDIO_UART_TX USBTX
Anna Bridge 186:707f6e361f3e 23 #define STDIO_UART_RX USBRX
Anna Bridge 186:707f6e361f3e 24
AnnaBridge 167:e84263d55307 25 #ifdef __cplusplus
AnnaBridge 167:e84263d55307 26 extern "C" {
AnnaBridge 167:e84263d55307 27 #endif
AnnaBridge 167:e84263d55307 28
AnnaBridge 167:e84263d55307 29 typedef enum {
AnnaBridge 167:e84263d55307 30 PIN_INPUT,
AnnaBridge 167:e84263d55307 31 PIN_OUTPUT
AnnaBridge 167:e84263d55307 32 } PinDirection;
AnnaBridge 167:e84263d55307 33
AnnaBridge 167:e84263d55307 34 typedef enum {
AnnaBridge 168:9672193075cf 35 /* MPS2 EXP Pin Names */
AnnaBridge 168:9672193075cf 36 EXP0 = 0,
AnnaBridge 168:9672193075cf 37 EXP1 = 1,
AnnaBridge 168:9672193075cf 38 EXP2 = 2,
AnnaBridge 168:9672193075cf 39 EXP3 = 3,
AnnaBridge 168:9672193075cf 40 EXP4 = 4,
AnnaBridge 168:9672193075cf 41 EXP5 = 5,
AnnaBridge 168:9672193075cf 42 EXP6 = 6,
AnnaBridge 168:9672193075cf 43 EXP7 = 7,
AnnaBridge 168:9672193075cf 44 EXP8 = 8,
AnnaBridge 168:9672193075cf 45 EXP9 = 9,
AnnaBridge 168:9672193075cf 46 EXP10 = 10,
AnnaBridge 168:9672193075cf 47 EXP11 = 11,
AnnaBridge 168:9672193075cf 48 EXP12 = 12,
AnnaBridge 168:9672193075cf 49 EXP13 = 13,
AnnaBridge 168:9672193075cf 50 EXP14 = 14,
AnnaBridge 168:9672193075cf 51 EXP15 = 15,
AnnaBridge 168:9672193075cf 52 EXP16 = 16,
AnnaBridge 168:9672193075cf 53 EXP17 = 17,
AnnaBridge 168:9672193075cf 54 EXP18 = 18,
AnnaBridge 168:9672193075cf 55 EXP19 = 19,
AnnaBridge 168:9672193075cf 56 EXP20 = 20,
AnnaBridge 168:9672193075cf 57 EXP21 = 21,
AnnaBridge 168:9672193075cf 58 EXP22 = 22,
AnnaBridge 168:9672193075cf 59 EXP23 = 23,
AnnaBridge 168:9672193075cf 60 EXP24 = 24,
AnnaBridge 168:9672193075cf 61 EXP25 = 25,
AnnaBridge 168:9672193075cf 62 EXP26 = 26,
AnnaBridge 168:9672193075cf 63 EXP27 = 27,
AnnaBridge 168:9672193075cf 64 EXP28 = 28,
AnnaBridge 168:9672193075cf 65 EXP29 = 29,
AnnaBridge 168:9672193075cf 66 EXP30 = 30,
AnnaBridge 168:9672193075cf 67 EXP31 = 31,
AnnaBridge 168:9672193075cf 68 EXP32 = 32,
AnnaBridge 168:9672193075cf 69 EXP33 = 33,
AnnaBridge 168:9672193075cf 70 EXP34 = 34,
AnnaBridge 168:9672193075cf 71 EXP35 = 35,
AnnaBridge 168:9672193075cf 72 EXP36 = 36,
AnnaBridge 168:9672193075cf 73 EXP37 = 37,
AnnaBridge 168:9672193075cf 74 EXP38 = 38,
AnnaBridge 168:9672193075cf 75 EXP39 = 39,
AnnaBridge 168:9672193075cf 76 EXP40 = 40,
AnnaBridge 168:9672193075cf 77 EXP41 = 41,
AnnaBridge 168:9672193075cf 78 EXP42 = 42,
AnnaBridge 168:9672193075cf 79 EXP43 = 43,
AnnaBridge 168:9672193075cf 80 EXP44 = 44,
AnnaBridge 168:9672193075cf 81 EXP45 = 45,
AnnaBridge 168:9672193075cf 82 EXP46 = 46,
AnnaBridge 168:9672193075cf 83 EXP47 = 47,
AnnaBridge 168:9672193075cf 84 EXP48 = 48,
AnnaBridge 168:9672193075cf 85 EXP49 = 49,
AnnaBridge 168:9672193075cf 86 EXP50 = 50,
AnnaBridge 168:9672193075cf 87 EXP51 = 51,
AnnaBridge 167:e84263d55307 88
AnnaBridge 167:e84263d55307 89 // Other mbed Pin Names
AnnaBridge 167:e84263d55307 90
AnnaBridge 168:9672193075cf 91 /* User leds */
AnnaBridge 168:9672193075cf 92 USERLED1 = 100,
AnnaBridge 168:9672193075cf 93 USERLED2 = 101,
AnnaBridge 168:9672193075cf 94 /* User switches */
AnnaBridge 168:9672193075cf 95 USERSW1 = 110,
AnnaBridge 168:9672193075cf 96 USERSW2 = 111,
AnnaBridge 167:e84263d55307 97
AnnaBridge 168:9672193075cf 98 /* MCC leds */
AnnaBridge 168:9672193075cf 99 LED1 = 200,
AnnaBridge 168:9672193075cf 100 LED2 = 201,
AnnaBridge 168:9672193075cf 101 LED3 = 202,
AnnaBridge 168:9672193075cf 102 LED4 = 203,
AnnaBridge 168:9672193075cf 103 LED5 = 204,
AnnaBridge 168:9672193075cf 104 LED6 = 205,
AnnaBridge 168:9672193075cf 105 LED7 = 206,
AnnaBridge 168:9672193075cf 106 LED8 = 207,
AnnaBridge 167:e84263d55307 107
AnnaBridge 168:9672193075cf 108 /* MCC Switches */
AnnaBridge 168:9672193075cf 109 SW1 = 210,
AnnaBridge 168:9672193075cf 110 SW2 = 211,
AnnaBridge 168:9672193075cf 111 SW3 = 212,
AnnaBridge 168:9672193075cf 112 SW4 = 213,
AnnaBridge 168:9672193075cf 113 SW5 = 214,
AnnaBridge 168:9672193075cf 114 SW6 = 215,
AnnaBridge 168:9672193075cf 115 SW7 = 216,
AnnaBridge 168:9672193075cf 116 SW8 = 217,
AnnaBridge 167:e84263d55307 117
AnnaBridge 168:9672193075cf 118 /* MPS2 SPI header pins J21 */
AnnaBridge 168:9672193075cf 119 SPI_MOSI = 300,
AnnaBridge 168:9672193075cf 120 SPI_MISO = 301,
AnnaBridge 168:9672193075cf 121 SPI_SCLK = 302,
AnnaBridge 168:9672193075cf 122 SPI_SSEL = 303,
AnnaBridge 167:e84263d55307 123
AnnaBridge 168:9672193075cf 124 /* MPS2 CLCD SPI */
AnnaBridge 168:9672193075cf 125 CLCD_MOSI = 304,
AnnaBridge 168:9672193075cf 126 CLCD_MISO = 305,
AnnaBridge 168:9672193075cf 127 CLCD_SCLK = 306,
AnnaBridge 168:9672193075cf 128 CLCD_SSEL = 307,
AnnaBridge 168:9672193075cf 129 CLCD_RESET = 308,
AnnaBridge 168:9672193075cf 130 CLCD_RS = 309,
AnnaBridge 168:9672193075cf 131 CLCD_RD = 310,
AnnaBridge 168:9672193075cf 132 CLCD_BL_CTRL = 311,
AnnaBridge 167:e84263d55307 133
AnnaBridge 168:9672193075cf 134 /* MPS2 shield 0 SPI */
AnnaBridge 168:9672193075cf 135 SHIELD_0_SPI_MOSI = EXP13,
AnnaBridge 168:9672193075cf 136 SHIELD_0_SPI_MISO = EXP14,
AnnaBridge 168:9672193075cf 137 SHIELD_0_SPI_SCK = EXP11,
AnnaBridge 168:9672193075cf 138 SHIELD_0_SPI_nCS = EXP12,
AnnaBridge 167:e84263d55307 139
AnnaBridge 168:9672193075cf 140 /* MPS2 shield 1 SPI */
AnnaBridge 168:9672193075cf 141 SHIELD_1_SPI_MOSI = EXP39,
AnnaBridge 168:9672193075cf 142 SHIELD_1_SPI_MISO = EXP40,
AnnaBridge 168:9672193075cf 143 SHIELD_1_SPI_SCK = EXP44,
AnnaBridge 168:9672193075cf 144 SHIELD_1_SPI_nCS = EXP38,
AnnaBridge 167:e84263d55307 145
AnnaBridge 168:9672193075cf 146 /* MPS2 shield ADC SPI */
AnnaBridge 168:9672193075cf 147 ADC_MOSI = EXP18,
AnnaBridge 168:9672193075cf 148 ADC_MISO = EXP17,
AnnaBridge 168:9672193075cf 149 ADC_SCLK = EXP19,
AnnaBridge 168:9672193075cf 150 ADC_SSEL = EXP16,
AnnaBridge 167:e84263d55307 151
AnnaBridge 168:9672193075cf 152 /* MPS2 UART */
AnnaBridge 168:9672193075cf 153 MCC_TX = 400,
AnnaBridge 168:9672193075cf 154 MCC_RX = 401,
AnnaBridge 168:9672193075cf 155 USBTX = 402,
AnnaBridge 168:9672193075cf 156 USBRX = 403,
AnnaBridge 168:9672193075cf 157 XB_TX = EXP24,
AnnaBridge 168:9672193075cf 158 XB_RX = EXP23,
AnnaBridge 168:9672193075cf 159 SH0_TX = EXP4,
AnnaBridge 168:9672193075cf 160 SH0_RX = EXP0,
AnnaBridge 168:9672193075cf 161 SH1_TX = EXP30,
AnnaBridge 168:9672193075cf 162 SH1_RX = EXP26,
AnnaBridge 167:e84263d55307 163
AnnaBridge 168:9672193075cf 164 /* MPS2 I2C touchscreen and audio */
AnnaBridge 168:9672193075cf 165 TSC_SDA = 500,
AnnaBridge 168:9672193075cf 166 TSC_SCL = 501,
AnnaBridge 168:9672193075cf 167 AUD_SDA = 502,
AnnaBridge 168:9672193075cf 168 AUD_SCL = 503,
AnnaBridge 167:e84263d55307 169
AnnaBridge 168:9672193075cf 170 /* MPS2 I2C for shield */
AnnaBridge 168:9672193075cf 171 SHIELD_0_SDA = EXP15,
AnnaBridge 168:9672193075cf 172 SHIELD_0_SCL = EXP5,
AnnaBridge 168:9672193075cf 173 SHIELD_1_SDA = EXP41,
AnnaBridge 168:9672193075cf 174 SHIELD_1_SCL = EXP31,
AnnaBridge 167:e84263d55307 175
AnnaBridge 168:9672193075cf 176 /* MPS2 shield Analog pins */
AnnaBridge 168:9672193075cf 177 A0_0 = 600,
AnnaBridge 168:9672193075cf 178 A0_1 = 601,
AnnaBridge 168:9672193075cf 179 A0_2 = 602,
AnnaBridge 168:9672193075cf 180 A0_3 = 603,
AnnaBridge 168:9672193075cf 181 A0_4 = 604,
AnnaBridge 168:9672193075cf 182 A0_5 = 605,
AnnaBridge 168:9672193075cf 183 A1_0 = 606,
AnnaBridge 168:9672193075cf 184 A1_1 = 607,
AnnaBridge 168:9672193075cf 185 A1_2 = 608,
AnnaBridge 168:9672193075cf 186 A1_3 = 609,
AnnaBridge 168:9672193075cf 187 A1_4 = 610,
AnnaBridge 168:9672193075cf 188 A1_5 = 611,
AnnaBridge 168:9672193075cf 189 /* MPS2 Shield Digital pins */
AnnaBridge 168:9672193075cf 190 D0_0 = EXP0,
AnnaBridge 168:9672193075cf 191 D0_1 = EXP4,
AnnaBridge 168:9672193075cf 192 D0_2 = EXP2,
AnnaBridge 168:9672193075cf 193 D0_3 = EXP3,
AnnaBridge 168:9672193075cf 194 D0_4 = EXP1,
AnnaBridge 168:9672193075cf 195 D0_5 = EXP6,
AnnaBridge 168:9672193075cf 196 D0_6 = EXP7,
AnnaBridge 168:9672193075cf 197 D0_7 = EXP8,
AnnaBridge 168:9672193075cf 198 D0_8 = EXP9,
AnnaBridge 168:9672193075cf 199 D0_9 = EXP10,
AnnaBridge 168:9672193075cf 200 D0_10 = EXP12,
AnnaBridge 168:9672193075cf 201 D0_11 = EXP13,
AnnaBridge 168:9672193075cf 202 D0_12 = EXP14,
AnnaBridge 168:9672193075cf 203 D0_13 = EXP11,
AnnaBridge 168:9672193075cf 204 D0_14 = EXP15,
AnnaBridge 168:9672193075cf 205 D0_15 = EXP5,
AnnaBridge 167:e84263d55307 206
AnnaBridge 168:9672193075cf 207 D1_0 = EXP26,
AnnaBridge 168:9672193075cf 208 D1_1 = EXP30,
AnnaBridge 168:9672193075cf 209 D1_2 = EXP28,
AnnaBridge 168:9672193075cf 210 D1_3 = EXP29,
AnnaBridge 168:9672193075cf 211 D1_4 = EXP27,
AnnaBridge 168:9672193075cf 212 D1_5 = EXP32,
AnnaBridge 168:9672193075cf 213 D1_6 = EXP33,
AnnaBridge 168:9672193075cf 214 D1_7 = EXP34,
AnnaBridge 168:9672193075cf 215 D1_8 = EXP35,
AnnaBridge 168:9672193075cf 216 D1_9 = EXP36,
AnnaBridge 168:9672193075cf 217 D1_10 = EXP38,
AnnaBridge 168:9672193075cf 218 D1_11 = EXP39,
AnnaBridge 168:9672193075cf 219 D1_12 = EXP40,
AnnaBridge 168:9672193075cf 220 D1_13 = EXP44,
AnnaBridge 168:9672193075cf 221 D1_14 = EXP41,
AnnaBridge 168:9672193075cf 222 D1_15 = EXP31,
AnnaBridge 167:e84263d55307 223
AnnaBridge 168:9672193075cf 224 /* Not connected */
AnnaBridge 168:9672193075cf 225 NC = (int)0xFFFFFFFF,
AnnaBridge 167:e84263d55307 226 } PinName;
AnnaBridge 167:e84263d55307 227
AnnaBridge 167:e84263d55307 228 typedef enum {
AnnaBridge 168:9672193075cf 229 ALTERNATE_FUNC = 0, /* The pin is used for alternative function */
AnnaBridge 168:9672193075cf 230 GPIO_FUNC = 1 /* The pin is used for GPIO function */
AnnaBridge 168:9672193075cf 231 } PinFunction;
AnnaBridge 168:9672193075cf 232
AnnaBridge 168:9672193075cf 233 typedef enum {
AnnaBridge 167:e84263d55307 234 PullUp = 2,
AnnaBridge 167:e84263d55307 235 PullDown = 1,
AnnaBridge 167:e84263d55307 236 PullNone = 0,
AnnaBridge 167:e84263d55307 237 Repeater = 3,
AnnaBridge 167:e84263d55307 238 OpenDrain = 4,
AnnaBridge 167:e84263d55307 239 PullDefault = PullDown
AnnaBridge 167:e84263d55307 240 } PinMode;
AnnaBridge 167:e84263d55307 241
AnnaBridge 167:e84263d55307 242 #ifdef __cplusplus
AnnaBridge 167:e84263d55307 243 }
AnnaBridge 167:e84263d55307 244 #endif
AnnaBridge 167:e84263d55307 245
AnnaBridge 167:e84263d55307 246 #endif
AnnaBridge 167:e84263d55307 247