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:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 156:ff21514d8981 1 /* mbed Microcontroller Library
AnnaBridge 156:ff21514d8981 2 * Copyright (c) 2006-2013 ARM Limited
AnnaBridge 156:ff21514d8981 3 *
AnnaBridge 156:ff21514d8981 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 156:ff21514d8981 5 * you may not use this file except in compliance with the License.
AnnaBridge 156:ff21514d8981 6 * You may obtain a copy of the License at
AnnaBridge 156:ff21514d8981 7 *
AnnaBridge 156:ff21514d8981 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 156:ff21514d8981 9 *
AnnaBridge 156:ff21514d8981 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 156:ff21514d8981 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 156:ff21514d8981 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 156:ff21514d8981 13 * See the License for the specific language governing permissions and
AnnaBridge 156:ff21514d8981 14 * limitations under the License.
AnnaBridge 156:ff21514d8981 15 */
AnnaBridge 156:ff21514d8981 16 #ifndef MBED_PINNAMES_H
AnnaBridge 156:ff21514d8981 17 #define MBED_PINNAMES_H
AnnaBridge 156:ff21514d8981 18
AnnaBridge 156:ff21514d8981 19 #include "cmsis.h"
AnnaBridge 156:ff21514d8981 20
AnnaBridge 156:ff21514d8981 21 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 22 extern "C" {
AnnaBridge 156:ff21514d8981 23 #endif
AnnaBridge 156:ff21514d8981 24
AnnaBridge 156:ff21514d8981 25 typedef enum {
AnnaBridge 156:ff21514d8981 26 PIN_INPUT,
AnnaBridge 156:ff21514d8981 27 PIN_OUTPUT
AnnaBridge 156:ff21514d8981 28 } PinDirection;
AnnaBridge 156:ff21514d8981 29
AnnaBridge 156:ff21514d8981 30 #define PIN_SHIFT 8
AnnaBridge 156:ff21514d8981 31
AnnaBridge 156:ff21514d8981 32 typedef enum {
AnnaBridge 156:ff21514d8981 33 // LPC824 Pin Names (PIN[11:8] + IOCON offset[7:0])
AnnaBridge 156:ff21514d8981 34
AnnaBridge 156:ff21514d8981 35 P0_0 = ( 0 << PIN_SHIFT) | 0x44,
AnnaBridge 156:ff21514d8981 36 P0_1 = ( 1 << PIN_SHIFT) | 0x2C,
AnnaBridge 156:ff21514d8981 37 P0_2 = ( 2 << PIN_SHIFT) | 0x18,
AnnaBridge 156:ff21514d8981 38 P0_3 = ( 3 << PIN_SHIFT) | 0x14,
AnnaBridge 156:ff21514d8981 39 P0_4 = ( 4 << PIN_SHIFT) | 0x10,
AnnaBridge 156:ff21514d8981 40 P0_5 = ( 5 << PIN_SHIFT) | 0x0C,
AnnaBridge 156:ff21514d8981 41 P0_6 = ( 6 << PIN_SHIFT) | 0x40,
AnnaBridge 156:ff21514d8981 42 P0_7 = ( 7 << PIN_SHIFT) | 0x3C,
AnnaBridge 156:ff21514d8981 43 P0_8 = ( 8 << PIN_SHIFT) | 0x38,
AnnaBridge 156:ff21514d8981 44 P0_9 = ( 9 << PIN_SHIFT) | 0x34,
AnnaBridge 156:ff21514d8981 45 P0_10 = (10 << PIN_SHIFT) | 0x20,
AnnaBridge 156:ff21514d8981 46 P0_11 = (11 << PIN_SHIFT) | 0x1C,
AnnaBridge 156:ff21514d8981 47 P0_12 = (12 << PIN_SHIFT) | 0x08,
AnnaBridge 156:ff21514d8981 48 P0_13 = (13 << PIN_SHIFT) | 0x04,
AnnaBridge 156:ff21514d8981 49 P0_14 = (14 << PIN_SHIFT) | 0x48,
AnnaBridge 156:ff21514d8981 50 P0_15 = (15 << PIN_SHIFT) | 0x28,
AnnaBridge 156:ff21514d8981 51 P0_16 = (16 << PIN_SHIFT) | 0x24,
AnnaBridge 156:ff21514d8981 52 P0_17 = (17 << PIN_SHIFT) | 0x00,
AnnaBridge 156:ff21514d8981 53 P0_18 = (18 << PIN_SHIFT) | 0x78,
AnnaBridge 156:ff21514d8981 54 P0_19 = (19 << PIN_SHIFT) | 0x74,
AnnaBridge 156:ff21514d8981 55 P0_20 = (20 << PIN_SHIFT) | 0x70,
AnnaBridge 156:ff21514d8981 56 P0_21 = (21 << PIN_SHIFT) | 0x6C,
AnnaBridge 156:ff21514d8981 57 P0_22 = (22 << PIN_SHIFT) | 0x68,
AnnaBridge 156:ff21514d8981 58 P0_23 = (23 << PIN_SHIFT) | 0x64,
AnnaBridge 156:ff21514d8981 59 P0_24 = (24 << PIN_SHIFT) | 0x60,
AnnaBridge 156:ff21514d8981 60 P0_25 = (25 << PIN_SHIFT) | 0x5C,
AnnaBridge 156:ff21514d8981 61 P0_26 = (26 << PIN_SHIFT) | 0x58,
AnnaBridge 156:ff21514d8981 62 P0_27 = (27 << PIN_SHIFT) | 0x54,
AnnaBridge 156:ff21514d8981 63 P0_28 = (28 << PIN_SHIFT) | 0x50,
AnnaBridge 156:ff21514d8981 64
AnnaBridge 156:ff21514d8981 65 D0 = P0_0,
AnnaBridge 156:ff21514d8981 66 D1 = P0_4,
AnnaBridge 156:ff21514d8981 67 D2 = P0_19,
AnnaBridge 156:ff21514d8981 68 D3 = P0_12, // LED_RED
AnnaBridge 156:ff21514d8981 69 D4 = P0_18,
AnnaBridge 156:ff21514d8981 70 D5 = P0_28,
AnnaBridge 156:ff21514d8981 71 D6 = P0_16, // LED_GREEN
AnnaBridge 156:ff21514d8981 72 D7 = P0_17,
AnnaBridge 156:ff21514d8981 73 D8 = P0_13,
AnnaBridge 156:ff21514d8981 74 D9 = P0_27, // LED_BLUE
AnnaBridge 156:ff21514d8981 75 D10 = P0_15,
AnnaBridge 156:ff21514d8981 76 D11 = P0_26,
AnnaBridge 156:ff21514d8981 77 D12 = P0_25,
AnnaBridge 156:ff21514d8981 78 D13 = P0_24,
AnnaBridge 156:ff21514d8981 79 D14 = P0_11,
AnnaBridge 156:ff21514d8981 80 D15 = P0_10,
AnnaBridge 156:ff21514d8981 81
AnnaBridge 156:ff21514d8981 82 A0 = P0_6,
AnnaBridge 156:ff21514d8981 83 A1 = P0_14,
AnnaBridge 156:ff21514d8981 84 A2 = P0_23,
AnnaBridge 156:ff21514d8981 85 A3 = P0_22,
AnnaBridge 156:ff21514d8981 86 A4 = P0_21,
AnnaBridge 156:ff21514d8981 87 A5 = P0_20,
AnnaBridge 156:ff21514d8981 88
AnnaBridge 156:ff21514d8981 89 // LPC824-MAX board
AnnaBridge 156:ff21514d8981 90 LED_RED = P0_12,
AnnaBridge 156:ff21514d8981 91 LED_GREEN = P0_16,
AnnaBridge 156:ff21514d8981 92 LED_BLUE = P0_27,
AnnaBridge 156:ff21514d8981 93
AnnaBridge 156:ff21514d8981 94 // mbed original LED naming
AnnaBridge 156:ff21514d8981 95 LED1 = LED_RED,
AnnaBridge 156:ff21514d8981 96 LED2 = LED_GREEN,
AnnaBridge 156:ff21514d8981 97 LED3 = LED_BLUE,
AnnaBridge 156:ff21514d8981 98 LED4 = LED_BLUE,
AnnaBridge 156:ff21514d8981 99
AnnaBridge 156:ff21514d8981 100 // Serial to USB pins
AnnaBridge 156:ff21514d8981 101 USBTX = P0_7,
AnnaBridge 156:ff21514d8981 102 USBRX = P0_18,
AnnaBridge 156:ff21514d8981 103
AnnaBridge 156:ff21514d8981 104 // I2C pins
AnnaBridge 156:ff21514d8981 105 SCL = P0_10,
AnnaBridge 156:ff21514d8981 106 SDA = P0_11,
AnnaBridge 156:ff21514d8981 107 I2C_SCL = P0_10,
AnnaBridge 156:ff21514d8981 108 I2C_SDA = P0_11,
AnnaBridge 156:ff21514d8981 109
AnnaBridge 156:ff21514d8981 110 // Not connected
AnnaBridge 156:ff21514d8981 111 NC = (int)0xFFFFFFFF,
AnnaBridge 156:ff21514d8981 112 } PinName;
AnnaBridge 156:ff21514d8981 113
AnnaBridge 156:ff21514d8981 114 typedef enum {
AnnaBridge 156:ff21514d8981 115 PullUp = 2,
AnnaBridge 156:ff21514d8981 116 PullDown = 1,
AnnaBridge 156:ff21514d8981 117 PullNone = 0,
AnnaBridge 156:ff21514d8981 118 Repeater = 3,
AnnaBridge 156:ff21514d8981 119 OpenDrain = 4,
AnnaBridge 156:ff21514d8981 120 PullDefault = PullDown
AnnaBridge 156:ff21514d8981 121 } PinMode;
AnnaBridge 156:ff21514d8981 122
AnnaBridge 156:ff21514d8981 123 #define STDIO_UART_TX USBTX
AnnaBridge 156:ff21514d8981 124 #define STDIO_UART_RX USBRX
AnnaBridge 156:ff21514d8981 125
AnnaBridge 156:ff21514d8981 126 typedef struct {
AnnaBridge 156:ff21514d8981 127 unsigned char n;
AnnaBridge 156:ff21514d8981 128 unsigned char offset;
AnnaBridge 156:ff21514d8981 129 } SWM_Map;
AnnaBridge 156:ff21514d8981 130
AnnaBridge 156:ff21514d8981 131 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 132 }
AnnaBridge 156:ff21514d8981 133 #endif
AnnaBridge 156:ff21514d8981 134
AnnaBridge 156:ff21514d8981 135 #endif