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
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /* mbed Microcontroller Library
AnnaBridge 172:65be27845400 2 * Copyright (c) 2006-2018 ARM Limited
AnnaBridge 172:65be27845400 3 *
AnnaBridge 172:65be27845400 4 * Licensed under the Apache License, Version 2.0 (the "License");
AnnaBridge 172:65be27845400 5 * you may not use this file except in compliance with the License.
AnnaBridge 172:65be27845400 6 * You may obtain a copy of the License at
AnnaBridge 172:65be27845400 7 *
AnnaBridge 172:65be27845400 8 * http://www.apache.org/licenses/LICENSE-2.0
AnnaBridge 172:65be27845400 9 *
AnnaBridge 172:65be27845400 10 * Unless required by applicable law or agreed to in writing, software
AnnaBridge 172:65be27845400 11 * distributed under the License is distributed on an "AS IS" BASIS,
AnnaBridge 172:65be27845400 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
AnnaBridge 172:65be27845400 13 * See the License for the specific language governing permissions and
AnnaBridge 172:65be27845400 14 * limitations under the License.
AnnaBridge 172:65be27845400 15 */
AnnaBridge 172:65be27845400 16 #ifndef MBED_PINNAMES_H
AnnaBridge 172:65be27845400 17 #define MBED_PINNAMES_H
AnnaBridge 172:65be27845400 18
AnnaBridge 172:65be27845400 19 #include "cmsis.h"
AnnaBridge 172:65be27845400 20
AnnaBridge 172:65be27845400 21 #ifdef __cplusplus
AnnaBridge 172:65be27845400 22 extern "C" {
AnnaBridge 172:65be27845400 23 #endif
AnnaBridge 172:65be27845400 24
AnnaBridge 172:65be27845400 25 typedef enum {
AnnaBridge 172:65be27845400 26 PIN_INPUT,
AnnaBridge 172:65be27845400 27 PIN_OUTPUT
AnnaBridge 172:65be27845400 28 } PinDirection;
AnnaBridge 172:65be27845400 29
AnnaBridge 172:65be27845400 30 #define PORT_SHIFT 8
AnnaBridge 172:65be27845400 31
AnnaBridge 172:65be27845400 32 typedef enum {
AnnaBridge 172:65be27845400 33 PA_0 = (0 << PORT_SHIFT | 0 ),
AnnaBridge 172:65be27845400 34 PA_1 = (0 << PORT_SHIFT | 1 ),
AnnaBridge 172:65be27845400 35 PA_2 = (0 << PORT_SHIFT | 2 ),
AnnaBridge 172:65be27845400 36 PA_3 = (0 << PORT_SHIFT | 3 ),
AnnaBridge 172:65be27845400 37 PA_4 = (0 << PORT_SHIFT | 4 ),
AnnaBridge 172:65be27845400 38 PA_5 = (0 << PORT_SHIFT | 5 ),
AnnaBridge 172:65be27845400 39 PA_6 = (0 << PORT_SHIFT | 6 ),
AnnaBridge 172:65be27845400 40 PA_7 = (0 << PORT_SHIFT | 7 ),
AnnaBridge 172:65be27845400 41 PA_8 = (0 << PORT_SHIFT | 8 ),
AnnaBridge 172:65be27845400 42 PA_9 = (0 << PORT_SHIFT | 9 ),
AnnaBridge 172:65be27845400 43 PB_0 = (1 << PORT_SHIFT | 0 ),
AnnaBridge 172:65be27845400 44 PB_1 = (1 << PORT_SHIFT | 1 ),
AnnaBridge 172:65be27845400 45 PB_2 = (1 << PORT_SHIFT | 2 ),
AnnaBridge 172:65be27845400 46 PB_3 = (1 << PORT_SHIFT | 3 ),
AnnaBridge 172:65be27845400 47 PB_4 = (1 << PORT_SHIFT | 4 ),
AnnaBridge 172:65be27845400 48 PB_5 = (1 << PORT_SHIFT | 5 ),
AnnaBridge 172:65be27845400 49 PB_6 = (1 << PORT_SHIFT | 6 ),
AnnaBridge 172:65be27845400 50 PB_7 = (1 << PORT_SHIFT | 7 ),
AnnaBridge 172:65be27845400 51 PB_8 = (1 << PORT_SHIFT | 8 ),
AnnaBridge 172:65be27845400 52 PB_9 = (1 << PORT_SHIFT | 9 ),
AnnaBridge 172:65be27845400 53 PC_0 = (4 << PORT_SHIFT | 0 ),
AnnaBridge 172:65be27845400 54 PC_1 = (4 << PORT_SHIFT | 1 ),
AnnaBridge 172:65be27845400 55 PC_2 = (4 << PORT_SHIFT | 2 ),
AnnaBridge 172:65be27845400 56 PC_3 = (4 << PORT_SHIFT | 3 ),
AnnaBridge 172:65be27845400 57 PC_4 = (4 << PORT_SHIFT | 4 ),
AnnaBridge 172:65be27845400 58 PC_5 = (4 << PORT_SHIFT | 5 ),
AnnaBridge 172:65be27845400 59 PC_6 = (4 << PORT_SHIFT | 6 ),
AnnaBridge 172:65be27845400 60 PC_7 = (4 << PORT_SHIFT | 7 ),
AnnaBridge 172:65be27845400 61 PC_8 = (4 << PORT_SHIFT | 8 ),
AnnaBridge 172:65be27845400 62 PC_9 = (4 << PORT_SHIFT | 9 ),
AnnaBridge 172:65be27845400 63 PD_0 = (5 << PORT_SHIFT | 0 ),
AnnaBridge 172:65be27845400 64 PD_1 = (5 << PORT_SHIFT | 1 ),
AnnaBridge 172:65be27845400 65 PD_2 = (5 << PORT_SHIFT | 2 ),
AnnaBridge 172:65be27845400 66 PD_3 = (5 << PORT_SHIFT | 3 ),
AnnaBridge 172:65be27845400 67 PD_9 = (5 << PORT_SHIFT | 9 ), // Fake pin for GPADC_VBAT
AnnaBridge 172:65be27845400 68
AnnaBridge 172:65be27845400 69 UART0_RX = PA_0,
AnnaBridge 172:65be27845400 70 UART0_TX = PA_1,
AnnaBridge 172:65be27845400 71 UART1_RX = PB_1,
AnnaBridge 172:65be27845400 72 UART1_TX = PB_2,
AnnaBridge 172:65be27845400 73
AnnaBridge 172:65be27845400 74 USBRX = UART0_RX,
AnnaBridge 172:65be27845400 75 USBTX = UART0_TX,
AnnaBridge 172:65be27845400 76
AnnaBridge 172:65be27845400 77 I2C_SCL = PC_0,
AnnaBridge 172:65be27845400 78 I2C_SDA = PC_1,
AnnaBridge 172:65be27845400 79
AnnaBridge 172:65be27845400 80 I2S_TX_SD = PB_1,
AnnaBridge 172:65be27845400 81 I2S_TX_WS = PB_2,
AnnaBridge 172:65be27845400 82 I2S_TX_BCLK = PB_3,
AnnaBridge 172:65be27845400 83 I2S_RX_SD = PB_4,
AnnaBridge 172:65be27845400 84 I2S_RX_WS = PB_5,
AnnaBridge 172:65be27845400 85 I2S_RX_BCLK = PB_8,
AnnaBridge 172:65be27845400 86
AnnaBridge 172:65be27845400 87 GPIO_PIN0 = PB_0,
AnnaBridge 172:65be27845400 88 GPIO_PIN1 = PB_1,
AnnaBridge 172:65be27845400 89 GPIO_PIN2 = PB_2,
AnnaBridge 172:65be27845400 90 GPIO_PIN3 = PB_3,
AnnaBridge 172:65be27845400 91 GPIO_PIN4 = PB_4,
AnnaBridge 172:65be27845400 92 GPIO_PIN5 = PB_5,
AnnaBridge 172:65be27845400 93 GPIO_PIN6 = PB_6,
AnnaBridge 172:65be27845400 94 GPIO_PIN7 = PB_7,
AnnaBridge 172:65be27845400 95 GPIO_PIN8 = PB_8,
AnnaBridge 172:65be27845400 96 GPIO_PIN9 = PB_9,
AnnaBridge 172:65be27845400 97 GPIO_PIN10 = PA_8,
AnnaBridge 172:65be27845400 98 GPIO_PIN11 = PA_9,
AnnaBridge 172:65be27845400 99 GPIO_PIN12 = PC_0,
AnnaBridge 172:65be27845400 100 GPIO_PIN13 = PC_1,
AnnaBridge 172:65be27845400 101 GPIO_PIN14 = PC_2,
AnnaBridge 172:65be27845400 102 GPIO_PIN15 = PC_3,
AnnaBridge 172:65be27845400 103 GPIO_PIN16 = PC_4,
AnnaBridge 172:65be27845400 104 GPIO_PIN17 = PC_5,
AnnaBridge 172:65be27845400 105 GPIO_PIN18 = PC_6,
AnnaBridge 172:65be27845400 106 GPIO_PIN19 = PC_7,
AnnaBridge 172:65be27845400 107 GPIO_PIN20 = PC_8,
AnnaBridge 172:65be27845400 108 GPIO_PIN21 = PC_9,
AnnaBridge 172:65be27845400 109 GPIO_PIN22 = PD_0,
AnnaBridge 172:65be27845400 110 GPIO_PIN23 = PD_1,
AnnaBridge 172:65be27845400 111 GPIO_PIN24 = PD_2,
AnnaBridge 172:65be27845400 112 GPIO_PIN25 = PD_3,
AnnaBridge 172:65be27845400 113 GPIO_PIN26 = PA_0,
AnnaBridge 172:65be27845400 114 GPIO_PIN27 = PA_1,
AnnaBridge 172:65be27845400 115
AnnaBridge 172:65be27845400 116 // Another pin names for GPIO 14 - 19
AnnaBridge 172:65be27845400 117 GPIO_PIN14A = PA_2,
AnnaBridge 172:65be27845400 118 GPIO_PIN15A = PA_3,
AnnaBridge 172:65be27845400 119 GPIO_PIN16A = PA_4,
AnnaBridge 172:65be27845400 120 GPIO_PIN17A = PA_5,
AnnaBridge 172:65be27845400 121 GPIO_PIN18A = PA_6,
AnnaBridge 172:65be27845400 122 GPIO_PIN19A = PA_7,
AnnaBridge 172:65be27845400 123
AnnaBridge 172:65be27845400 124 ADC_PIN0 = PB_6,
AnnaBridge 172:65be27845400 125 ADC_PIN1 = PB_7,
AnnaBridge 172:65be27845400 126 ADC_PIN1A = PB_8, // Another pin name for ADC 1
AnnaBridge 172:65be27845400 127 ADC_PIN2 = PD_9,
AnnaBridge 172:65be27845400 128
AnnaBridge 172:65be27845400 129 LED1 = GPIO_PIN21,
AnnaBridge 172:65be27845400 130 LED2 = GPIO_PIN1,
AnnaBridge 172:65be27845400 131
AnnaBridge 172:65be27845400 132 // Arduino Pin Names
AnnaBridge 172:65be27845400 133 // Analog Ports (A0-A1)
AnnaBridge 172:65be27845400 134 A0 = PB_6,
AnnaBridge 172:65be27845400 135 A1 = PB_8,
AnnaBridge 172:65be27845400 136 // A2
AnnaBridge 172:65be27845400 137 // A3
AnnaBridge 172:65be27845400 138 // Digital Pins with "An" name
AnnaBridge 172:65be27845400 139 A4 = PB_2,
AnnaBridge 172:65be27845400 140 A5 = PB_3,
AnnaBridge 172:65be27845400 141 // Digital Port (D0-D7)
AnnaBridge 172:65be27845400 142 D0 = PB_1,
AnnaBridge 172:65be27845400 143 D1 = PB_2,
AnnaBridge 172:65be27845400 144 D2 = PB_3,
AnnaBridge 172:65be27845400 145 D3 = PB_4,
AnnaBridge 172:65be27845400 146 D4 = PB_5,
AnnaBridge 172:65be27845400 147 D5 = PB_7,
AnnaBridge 172:65be27845400 148 D6 = PB_9,
AnnaBridge 172:65be27845400 149 D7 = PC_9,
AnnaBridge 172:65be27845400 150 // Digital Port (D8-D13)
AnnaBridge 172:65be27845400 151 D8 = PB_0,
AnnaBridge 172:65be27845400 152 // D9
AnnaBridge 172:65be27845400 153 D10 = PD_1, // CS0
AnnaBridge 172:65be27845400 154 D11 = PD_2, // MOSI
AnnaBridge 172:65be27845400 155 D12 = PD_3, // MISO
AnnaBridge 172:65be27845400 156 D13 = PD_0, // CLK
AnnaBridge 172:65be27845400 157 // GND
AnnaBridge 172:65be27845400 158 // AREF
AnnaBridge 172:65be27845400 159 SDA = PC_1,
AnnaBridge 172:65be27845400 160 D14 = SDA,
AnnaBridge 172:65be27845400 161 SCL = PC_0,
AnnaBridge 172:65be27845400 162 D15 = SCL,
AnnaBridge 172:65be27845400 163
AnnaBridge 172:65be27845400 164 // Not connected
AnnaBridge 172:65be27845400 165 NC = (int)0xFFFFFFFF
AnnaBridge 172:65be27845400 166 } PinName;
AnnaBridge 172:65be27845400 167
AnnaBridge 172:65be27845400 168 typedef enum {
AnnaBridge 172:65be27845400 169 PullNone = 0,
AnnaBridge 172:65be27845400 170 PullDown = 1,
AnnaBridge 172:65be27845400 171 PullUp = 2,
AnnaBridge 172:65be27845400 172 Repeater = 3,
AnnaBridge 172:65be27845400 173 PullDefault = Repeater,
AnnaBridge 172:65be27845400 174 } PinMode;
AnnaBridge 172:65be27845400 175
AnnaBridge 172:65be27845400 176 #ifdef __cplusplus
AnnaBridge 172:65be27845400 177 }
AnnaBridge 172:65be27845400 178 #endif
AnnaBridge 172:65be27845400 179
AnnaBridge 172:65be27845400 180 #endif