The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 171:3a7713b1edbc 1 /* mbed Microcontroller Library
AnnaBridge 171:3a7713b1edbc 2 * Copyright (c) 2006-2013 ARM Limited
AnnaBridge 171:3a7713b1edbc 3 *
AnnaBridge 171:3a7713b1edbc 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 171:3a7713b1edbc 5 * you may not use this file except in compliance with the License.
AnnaBridge 171:3a7713b1edbc 6 * You may obtain a copy of the License at
AnnaBridge 171:3a7713b1edbc 7 *
AnnaBridge 171:3a7713b1edbc 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 171:3a7713b1edbc 9 *
AnnaBridge 171:3a7713b1edbc 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 171:3a7713b1edbc 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 171:3a7713b1edbc 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 171:3a7713b1edbc 13 * See the License for the specific language governing permissions and
AnnaBridge 171:3a7713b1edbc 14 * limitations under the License.
AnnaBridge 171:3a7713b1edbc 15 */
AnnaBridge 171:3a7713b1edbc 16 #ifndef MBED_PINNAMES_H
AnnaBridge 171:3a7713b1edbc 17 #define MBED_PINNAMES_H
AnnaBridge 171:3a7713b1edbc 18
AnnaBridge 171:3a7713b1edbc 19 #include "cmsis.h"
AnnaBridge 171:3a7713b1edbc 20
AnnaBridge 171:3a7713b1edbc 21 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 22 extern "C" {
AnnaBridge 171:3a7713b1edbc 23 #endif
AnnaBridge 171:3a7713b1edbc 24
AnnaBridge 171:3a7713b1edbc 25 typedef enum {
AnnaBridge 171:3a7713b1edbc 26 PIN_INPUT,
AnnaBridge 171:3a7713b1edbc 27 PIN_OUTPUT
AnnaBridge 171:3a7713b1edbc 28 } PinDirection;
AnnaBridge 171:3a7713b1edbc 29
AnnaBridge 171:3a7713b1edbc 30 #define PORT_SHIFT 12
AnnaBridge 171:3a7713b1edbc 31 #define PIN_SHIFT 8
AnnaBridge 171:3a7713b1edbc 32
AnnaBridge 171:3a7713b1edbc 33 typedef enum {
AnnaBridge 171:3a7713b1edbc 34 // LPC1114 Pin Names (PORT[15:12] + PIN[11:8] + IOCON offset[7:0])
AnnaBridge 171:3a7713b1edbc 35
AnnaBridge 171:3a7713b1edbc 36 P0_0 = (0 << PORT_SHIFT) | (0 << PIN_SHIFT) | 0x0c,
AnnaBridge 171:3a7713b1edbc 37 P0_1 = (0 << PORT_SHIFT) | (1 << PIN_SHIFT) | 0x10,
AnnaBridge 171:3a7713b1edbc 38 P0_2 = (0 << PORT_SHIFT) | (2 << PIN_SHIFT) | 0x1c,
AnnaBridge 171:3a7713b1edbc 39 P0_3 = (0 << PORT_SHIFT) | (3 << PIN_SHIFT) | 0x2c,
AnnaBridge 171:3a7713b1edbc 40 P0_4 = (0 << PORT_SHIFT) | (4 << PIN_SHIFT) | 0x30,
AnnaBridge 171:3a7713b1edbc 41 P0_5 = (0 << PORT_SHIFT) | (5 << PIN_SHIFT) | 0x34,
AnnaBridge 171:3a7713b1edbc 42 P0_6 = (0 << PORT_SHIFT) | (6 << PIN_SHIFT) | 0x4c,
AnnaBridge 171:3a7713b1edbc 43 P0_7 = (0 << PORT_SHIFT) | (7 << PIN_SHIFT) | 0x50,
AnnaBridge 171:3a7713b1edbc 44 P0_8 = (0 << PORT_SHIFT) | (8 << PIN_SHIFT) | 0x60,
AnnaBridge 171:3a7713b1edbc 45 P0_9 = (0 << PORT_SHIFT) | (9 << PIN_SHIFT) | 0x64,
AnnaBridge 171:3a7713b1edbc 46 P0_11 = (0 << PORT_SHIFT) | (11 << PIN_SHIFT) | 0x74,
AnnaBridge 171:3a7713b1edbc 47
AnnaBridge 171:3a7713b1edbc 48 P1_0 = (1 << PORT_SHIFT) | (0 << PIN_SHIFT) | 0x78,
AnnaBridge 171:3a7713b1edbc 49 P1_1 = (1 << PORT_SHIFT) | (1 << PIN_SHIFT) | 0x7c,
AnnaBridge 171:3a7713b1edbc 50 P1_2 = (1 << PORT_SHIFT) | (2 << PIN_SHIFT) | 0x80,
AnnaBridge 171:3a7713b1edbc 51 P1_4 = (1 << PORT_SHIFT) | (4 << PIN_SHIFT) | 0x94,
AnnaBridge 171:3a7713b1edbc 52 P1_5 = (1 << PORT_SHIFT) | (5 << PIN_SHIFT) | 0xa0,
AnnaBridge 171:3a7713b1edbc 53 P1_6 = (1 << PORT_SHIFT) | (6 << PIN_SHIFT) | 0xa4,
AnnaBridge 171:3a7713b1edbc 54 P1_7 = (1 << PORT_SHIFT) | (7 << PIN_SHIFT) | 0xa8,
AnnaBridge 171:3a7713b1edbc 55 P1_8 = (1 << PORT_SHIFT) | (8 << PIN_SHIFT) | 0x14,
AnnaBridge 171:3a7713b1edbc 56 P1_9 = (1 << PORT_SHIFT) | (9 << PIN_SHIFT) | 0x38,
AnnaBridge 171:3a7713b1edbc 57 P1_10 = (1 << PORT_SHIFT) | (10 << PIN_SHIFT) | 0x6c,
AnnaBridge 171:3a7713b1edbc 58 P1_11 = (1 << PORT_SHIFT) | (11 << PIN_SHIFT) | 0x98,
AnnaBridge 171:3a7713b1edbc 59
AnnaBridge 171:3a7713b1edbc 60 P2_0 = (2 << PORT_SHIFT) | (0 << PIN_SHIFT) | 0x08,
AnnaBridge 171:3a7713b1edbc 61 P2_1 = (2 << PORT_SHIFT) | (1 << PIN_SHIFT) | 0x28,
AnnaBridge 171:3a7713b1edbc 62 P2_2 = (2 << PORT_SHIFT) | (2 << PIN_SHIFT) | 0x5c,
AnnaBridge 171:3a7713b1edbc 63 P2_3 = (2 << PORT_SHIFT) | (3 << PIN_SHIFT) | 0x8c,
AnnaBridge 171:3a7713b1edbc 64 P2_4 = (2 << PORT_SHIFT) | (4 << PIN_SHIFT) | 0x40,
AnnaBridge 171:3a7713b1edbc 65 P2_5 = (2 << PORT_SHIFT) | (5 << PIN_SHIFT) | 0x44,
AnnaBridge 171:3a7713b1edbc 66 P2_6 = (2 << PORT_SHIFT) | (6 << PIN_SHIFT) | 0x00,
AnnaBridge 171:3a7713b1edbc 67 P2_7 = (2 << PORT_SHIFT) | (7 << PIN_SHIFT) | 0x20,
AnnaBridge 171:3a7713b1edbc 68 P2_8 = (2 << PORT_SHIFT) | (8 << PIN_SHIFT) | 0x24,
AnnaBridge 171:3a7713b1edbc 69 P2_9 = (2 << PORT_SHIFT) | (9 << PIN_SHIFT) | 0x54,
AnnaBridge 171:3a7713b1edbc 70 P2_10 = (2 << PORT_SHIFT) | (10 << PIN_SHIFT) | 0x58,
AnnaBridge 171:3a7713b1edbc 71 P2_11 = (2 << PORT_SHIFT) | (11 << PIN_SHIFT) | 0x70,
AnnaBridge 171:3a7713b1edbc 72
AnnaBridge 171:3a7713b1edbc 73 P3_0 = (3 << PORT_SHIFT) | (0 << PIN_SHIFT) | 0x84,
AnnaBridge 171:3a7713b1edbc 74 P3_1 = (3 << PORT_SHIFT) | (1 << PIN_SHIFT) | 0x88,
AnnaBridge 171:3a7713b1edbc 75 P3_2 = (3 << PORT_SHIFT) | (2 << PIN_SHIFT) | 0x9c,
AnnaBridge 171:3a7713b1edbc 76 P3_3 = (3 << PORT_SHIFT) | (3 << PIN_SHIFT) | 0xac,
AnnaBridge 171:3a7713b1edbc 77 P3_4 = (3 << PORT_SHIFT) | (4 << PIN_SHIFT) | 0x3c,
AnnaBridge 171:3a7713b1edbc 78 P3_5 = (3 << PORT_SHIFT) | (5 << PIN_SHIFT) | 0x48,
AnnaBridge 171:3a7713b1edbc 79
AnnaBridge 171:3a7713b1edbc 80 // mbed DIP Pin Names (CQ board)
AnnaBridge 171:3a7713b1edbc 81 // p4 = P0_0,
AnnaBridge 171:3a7713b1edbc 82 p5 = P0_9,
AnnaBridge 171:3a7713b1edbc 83 p6 = P0_8,
AnnaBridge 171:3a7713b1edbc 84 p7 = P0_6,
AnnaBridge 171:3a7713b1edbc 85 p8 = P1_5,
AnnaBridge 171:3a7713b1edbc 86 p9 = P1_7,
AnnaBridge 171:3a7713b1edbc 87 p10 = P1_6,
AnnaBridge 171:3a7713b1edbc 88 p11 = P0_7,
AnnaBridge 171:3a7713b1edbc 89 p12 = P1_0,
AnnaBridge 171:3a7713b1edbc 90 p13 = P1_1,
AnnaBridge 171:3a7713b1edbc 91 p14 = P1_2,
AnnaBridge 171:3a7713b1edbc 92 p15 = P0_11,
AnnaBridge 171:3a7713b1edbc 93 p16 = P1_0,
AnnaBridge 171:3a7713b1edbc 94 p17 = P1_1,
AnnaBridge 171:3a7713b1edbc 95 p18 = P1_2,
AnnaBridge 171:3a7713b1edbc 96 p20 = P1_4,
AnnaBridge 171:3a7713b1edbc 97 p22 = P0_2,
AnnaBridge 171:3a7713b1edbc 98 p23 = P0_11,
AnnaBridge 171:3a7713b1edbc 99 p24 = P0_2,
AnnaBridge 171:3a7713b1edbc 100 p25 = P1_8,
AnnaBridge 171:3a7713b1edbc 101 p26 = P1_9,
AnnaBridge 171:3a7713b1edbc 102 p27 = P0_4,
AnnaBridge 171:3a7713b1edbc 103 p28 = P0_5,
AnnaBridge 171:3a7713b1edbc 104 p29 = P0_3,
AnnaBridge 171:3a7713b1edbc 105 p30 = P0_1,
AnnaBridge 171:3a7713b1edbc 106
AnnaBridge 171:3a7713b1edbc 107 // Other mbed Pin Names
AnnaBridge 171:3a7713b1edbc 108 LED1 = P1_5,
AnnaBridge 171:3a7713b1edbc 109 LED2 = P0_7,
AnnaBridge 171:3a7713b1edbc 110 LED3 = P1_5,
AnnaBridge 171:3a7713b1edbc 111 LED4 = P0_7,
AnnaBridge 171:3a7713b1edbc 112
AnnaBridge 171:3a7713b1edbc 113 USBTX = P1_7,
AnnaBridge 171:3a7713b1edbc 114 USBRX = P1_6,
AnnaBridge 171:3a7713b1edbc 115
AnnaBridge 171:3a7713b1edbc 116 // mbed DIP Pin Names (LPCXpresso LPC1114)
AnnaBridge 171:3a7713b1edbc 117 // xp4 = P0_0,
AnnaBridge 171:3a7713b1edbc 118 xp5 = P0_9,
AnnaBridge 171:3a7713b1edbc 119 xp6 = P0_8,
AnnaBridge 171:3a7713b1edbc 120 xp7 = P2_11,
AnnaBridge 171:3a7713b1edbc 121 xp8 = P0_2,
AnnaBridge 171:3a7713b1edbc 122 xp9 = P1_7,
AnnaBridge 171:3a7713b1edbc 123 xp10 = P1_6,
AnnaBridge 171:3a7713b1edbc 124 xp11 = P0_7,
AnnaBridge 171:3a7713b1edbc 125 xp12 = P2_0,
AnnaBridge 171:3a7713b1edbc 126 xp13 = P2_1,
AnnaBridge 171:3a7713b1edbc 127 xp14 = P2_2,
AnnaBridge 171:3a7713b1edbc 128 xp15 = P0_11,
AnnaBridge 171:3a7713b1edbc 129 xp16 = P1_0,
AnnaBridge 171:3a7713b1edbc 130 xp17 = P1_1,
AnnaBridge 171:3a7713b1edbc 131 xp18 = P1_2,
AnnaBridge 171:3a7713b1edbc 132 xp20 = P1_4,
AnnaBridge 171:3a7713b1edbc 133 xp21 = P1_5,
AnnaBridge 171:3a7713b1edbc 134 xp22 = P1_8,
AnnaBridge 171:3a7713b1edbc 135 xp23 = P0_6,
AnnaBridge 171:3a7713b1edbc 136 xp25 = P3_0,
AnnaBridge 171:3a7713b1edbc 137 xp26 = P3_1,
AnnaBridge 171:3a7713b1edbc 138 xp27 = P3_2,
AnnaBridge 171:3a7713b1edbc 139
AnnaBridge 171:3a7713b1edbc 140 xp29 = P3_3,
AnnaBridge 171:3a7713b1edbc 141 xp30 = P2_10,
AnnaBridge 171:3a7713b1edbc 142 xp31 = P2_9,
AnnaBridge 171:3a7713b1edbc 143 xp32 = P2_8,
AnnaBridge 171:3a7713b1edbc 144 xp33 = P2_7,
AnnaBridge 171:3a7713b1edbc 145 xp34 = P2_6,
AnnaBridge 171:3a7713b1edbc 146 xp35 = P2_5,
AnnaBridge 171:3a7713b1edbc 147 xp36 = P2_4,
AnnaBridge 171:3a7713b1edbc 148 xp37 = P2_3,
AnnaBridge 171:3a7713b1edbc 149 xp38 = P1_11,
AnnaBridge 171:3a7713b1edbc 150 xp39 = P1_10,
AnnaBridge 171:3a7713b1edbc 151 xp40 = P1_9,
AnnaBridge 171:3a7713b1edbc 152 xp41 = P0_4,
AnnaBridge 171:3a7713b1edbc 153 xp42 = P0_5,
AnnaBridge 171:3a7713b1edbc 154 xp43 = P0_3,
AnnaBridge 171:3a7713b1edbc 155 xp44 = P0_1,
AnnaBridge 171:3a7713b1edbc 156
AnnaBridge 171:3a7713b1edbc 157 // Other mbed Pin Names
AnnaBridge 171:3a7713b1edbc 158 xLED1 = P0_7,
AnnaBridge 171:3a7713b1edbc 159
AnnaBridge 171:3a7713b1edbc 160 // DIP Package Names
AnnaBridge 171:3a7713b1edbc 161
AnnaBridge 171:3a7713b1edbc 162 dp1 = P0_8,
AnnaBridge 171:3a7713b1edbc 163 dp2 = P0_9,
AnnaBridge 171:3a7713b1edbc 164 dp4 = P0_11,
AnnaBridge 171:3a7713b1edbc 165 dp5 = P0_5,
AnnaBridge 171:3a7713b1edbc 166 dp6 = P0_6,
AnnaBridge 171:3a7713b1edbc 167 dp9 = P1_0,
AnnaBridge 171:3a7713b1edbc 168 dp10 = P1_1,
AnnaBridge 171:3a7713b1edbc 169 dp11 = P1_2,
AnnaBridge 171:3a7713b1edbc 170 dp13 = P1_4,
AnnaBridge 171:3a7713b1edbc 171 dp14 = P1_5,
AnnaBridge 171:3a7713b1edbc 172 dp15 = P1_6,
AnnaBridge 171:3a7713b1edbc 173 dp16 = P1_7,
AnnaBridge 171:3a7713b1edbc 174 dp17 = P1_8,
AnnaBridge 171:3a7713b1edbc 175 dp18 = P1_9,
AnnaBridge 171:3a7713b1edbc 176 // dp23 = P0_0,
AnnaBridge 171:3a7713b1edbc 177 dp24 = P0_1,
AnnaBridge 171:3a7713b1edbc 178 dp25 = P0_2,
AnnaBridge 171:3a7713b1edbc 179 dp26 = P0_3,
AnnaBridge 171:3a7713b1edbc 180 dp27 = P0_4,
AnnaBridge 171:3a7713b1edbc 181 dp28 = P0_7,
AnnaBridge 171:3a7713b1edbc 182
AnnaBridge 171:3a7713b1edbc 183 dip1 = P0_8,
AnnaBridge 171:3a7713b1edbc 184 dip2 = P0_9,
AnnaBridge 171:3a7713b1edbc 185 dip4 = P0_11,
AnnaBridge 171:3a7713b1edbc 186 dip5 = P0_5,
AnnaBridge 171:3a7713b1edbc 187 dip6 = P0_6,
AnnaBridge 171:3a7713b1edbc 188 dip9 = P1_0,
AnnaBridge 171:3a7713b1edbc 189 dip10 = P1_1,
AnnaBridge 171:3a7713b1edbc 190 dip11 = P1_2,
AnnaBridge 171:3a7713b1edbc 191 dip13 = P1_4,
AnnaBridge 171:3a7713b1edbc 192 dip14 = P1_5,
AnnaBridge 171:3a7713b1edbc 193 dip15 = P1_6,
AnnaBridge 171:3a7713b1edbc 194 dip16 = P1_7,
AnnaBridge 171:3a7713b1edbc 195 dip17 = P1_8,
AnnaBridge 171:3a7713b1edbc 196 dip18 = P1_9,
AnnaBridge 171:3a7713b1edbc 197 // dip23 = P0_0,
AnnaBridge 171:3a7713b1edbc 198 dip24 = P0_1,
AnnaBridge 171:3a7713b1edbc 199 dip25 = P0_2,
AnnaBridge 171:3a7713b1edbc 200 dip26 = P0_3,
AnnaBridge 171:3a7713b1edbc 201 dip27 = P0_4,
AnnaBridge 171:3a7713b1edbc 202 dip28 = P0_7,
AnnaBridge 171:3a7713b1edbc 203
AnnaBridge 171:3a7713b1edbc 204
AnnaBridge 171:3a7713b1edbc 205
AnnaBridge 171:3a7713b1edbc 206 // Not connected
AnnaBridge 171:3a7713b1edbc 207 NC = (int)0xFFFFFFFF,
AnnaBridge 171:3a7713b1edbc 208 } PinName;
AnnaBridge 171:3a7713b1edbc 209
AnnaBridge 171:3a7713b1edbc 210 typedef enum {
AnnaBridge 171:3a7713b1edbc 211 CHANNEL0 = WAKEUP0_IRQn,
AnnaBridge 171:3a7713b1edbc 212 CHANNEL1 = WAKEUP1_IRQn,
AnnaBridge 171:3a7713b1edbc 213 CHANNEL2 = WAKEUP2_IRQn,
AnnaBridge 171:3a7713b1edbc 214 CHANNEL3 = WAKEUP3_IRQn,
AnnaBridge 171:3a7713b1edbc 215 CHANNEL4 = WAKEUP4_IRQn,
AnnaBridge 171:3a7713b1edbc 216 CHANNEL5 = WAKEUP5_IRQn,
AnnaBridge 171:3a7713b1edbc 217 CHANNEL6 = WAKEUP6_IRQn,
AnnaBridge 171:3a7713b1edbc 218 CHANNEL7 = WAKEUP7_IRQn
AnnaBridge 171:3a7713b1edbc 219 } Channel;
AnnaBridge 171:3a7713b1edbc 220
AnnaBridge 171:3a7713b1edbc 221 typedef enum {
AnnaBridge 171:3a7713b1edbc 222 PullUp = 2,
AnnaBridge 171:3a7713b1edbc 223 PullDown = 1,
AnnaBridge 171:3a7713b1edbc 224 PullNone = 0,
AnnaBridge 171:3a7713b1edbc 225 Repeater = 3,
AnnaBridge 171:3a7713b1edbc 226 OpenDrain = 4,
AnnaBridge 171:3a7713b1edbc 227 PullDefault = PullDown
AnnaBridge 171:3a7713b1edbc 228 } PinMode;
AnnaBridge 171:3a7713b1edbc 229
AnnaBridge 171:3a7713b1edbc 230 #ifdef __cplusplus
AnnaBridge 171:3a7713b1edbc 231 }
AnnaBridge 171:3a7713b1edbc 232 #endif
AnnaBridge 171:3a7713b1edbc 233
AnnaBridge 171:3a7713b1edbc 234 #endif