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 163:e59c8e839560 1 /* mbed Microcontroller Library
AnnaBridge 163:e59c8e839560 2 *******************************************************************************
AnnaBridge 163:e59c8e839560 3 * Copyright (c) 2014, STMicroelectronics
AnnaBridge 163:e59c8e839560 4 * All rights reserved.
AnnaBridge 163:e59c8e839560 5 *
AnnaBridge 163:e59c8e839560 6 * Redistribution and use in source and binary forms, with or without
AnnaBridge 163:e59c8e839560 7 * modification, are permitted provided that the following conditions are met:
AnnaBridge 163:e59c8e839560 8 *
AnnaBridge 163:e59c8e839560 9 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 163:e59c8e839560 10 * this list of conditions and the following disclaimer.
AnnaBridge 163:e59c8e839560 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 163:e59c8e839560 12 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 163:e59c8e839560 13 * and/or other materials provided with the distribution.
AnnaBridge 163:e59c8e839560 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 163:e59c8e839560 15 * may be used to endorse or promote products derived from this software
AnnaBridge 163:e59c8e839560 16 * without specific prior written permission.
AnnaBridge 163:e59c8e839560 17 *
AnnaBridge 163:e59c8e839560 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 163:e59c8e839560 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 163:e59c8e839560 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 163:e59c8e839560 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 163:e59c8e839560 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 163:e59c8e839560 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 163:e59c8e839560 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 163:e59c8e839560 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 163:e59c8e839560 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 163:e59c8e839560 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 163:e59c8e839560 28 *******************************************************************************
AnnaBridge 163:e59c8e839560 29 */
AnnaBridge 163:e59c8e839560 30 #ifndef MBED_PINNAMES_H
AnnaBridge 163:e59c8e839560 31 #define MBED_PINNAMES_H
AnnaBridge 163:e59c8e839560 32
AnnaBridge 163:e59c8e839560 33 #include "cmsis.h"
AnnaBridge 163:e59c8e839560 34 #include "PinNamesTypes.h"
AnnaBridge 163:e59c8e839560 35
AnnaBridge 163:e59c8e839560 36 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 37 extern "C" {
AnnaBridge 163:e59c8e839560 38 #endif
AnnaBridge 163:e59c8e839560 39
AnnaBridge 163:e59c8e839560 40 typedef enum {
AnnaBridge 170:e95d10626187 41 ALT0 = 0x100,
AnnaBridge 170:e95d10626187 42 ALT1 = 0x200
AnnaBridge 163:e59c8e839560 43 } ALTx;
AnnaBridge 163:e59c8e839560 44
AnnaBridge 163:e59c8e839560 45 typedef enum {
AnnaBridge 163:e59c8e839560 46 PA_0 = 0x00,
AnnaBridge 163:e59c8e839560 47 PA_1 = 0x01,
AnnaBridge 163:e59c8e839560 48 PA_2 = 0x02,
AnnaBridge 170:e95d10626187 49 PA_2_ALT0 = PA_2 | ALT0,
AnnaBridge 163:e59c8e839560 50 PA_3 = 0x03,
AnnaBridge 170:e95d10626187 51 PA_3_ALT0 = PA_3 | ALT0,
AnnaBridge 163:e59c8e839560 52 PA_4 = 0x04,
AnnaBridge 170:e95d10626187 53 PA_4_ALT0 = PA_4 | ALT0,
AnnaBridge 163:e59c8e839560 54 PA_5 = 0x05,
AnnaBridge 163:e59c8e839560 55 PA_6 = 0x06,
AnnaBridge 163:e59c8e839560 56 PA_7 = 0x07,
AnnaBridge 170:e95d10626187 57 PA_7_ALT0 = PA_7 | ALT0,
AnnaBridge 163:e59c8e839560 58 PA_8 = 0x08,
AnnaBridge 163:e59c8e839560 59 PA_9 = 0x09,
AnnaBridge 163:e59c8e839560 60 PA_10 = 0x0A,
AnnaBridge 163:e59c8e839560 61 PA_11 = 0x0B,
AnnaBridge 163:e59c8e839560 62 PA_12 = 0x0C,
AnnaBridge 163:e59c8e839560 63 PA_13 = 0x0D,
AnnaBridge 163:e59c8e839560 64 PA_14 = 0x0E,
AnnaBridge 163:e59c8e839560 65 PA_15 = 0x0F,
AnnaBridge 170:e95d10626187 66 PA_15_ALT0 = PA_15 | ALT0,
AnnaBridge 163:e59c8e839560 67
AnnaBridge 163:e59c8e839560 68 PB_0 = 0x10,
AnnaBridge 170:e95d10626187 69 PB_0_ALT0 = PB_0 | ALT0,
AnnaBridge 163:e59c8e839560 70 PB_1 = 0x11,
AnnaBridge 170:e95d10626187 71 PB_1_ALT0 = PB_1 | ALT0,
AnnaBridge 163:e59c8e839560 72 PB_2 = 0x12,
AnnaBridge 163:e59c8e839560 73 PB_3 = 0x13,
AnnaBridge 170:e95d10626187 74 PB_3_ALT0 = PB_3 | ALT0,
AnnaBridge 163:e59c8e839560 75 PB_4 = 0x14,
AnnaBridge 170:e95d10626187 76 PB_4_ALT0 = PB_4 | ALT0,
AnnaBridge 163:e59c8e839560 77 PB_5 = 0x15,
AnnaBridge 170:e95d10626187 78 PB_5_ALT0 = PB_5 | ALT0,
AnnaBridge 163:e59c8e839560 79 PB_6 = 0x16,
AnnaBridge 163:e59c8e839560 80 PB_7 = 0x17,
AnnaBridge 163:e59c8e839560 81 PB_8 = 0x18,
AnnaBridge 170:e95d10626187 82 PB_8_ALT0 = PB_8 | ALT0,
AnnaBridge 163:e59c8e839560 83 PB_9 = 0x19,
AnnaBridge 170:e95d10626187 84 PB_9_ALT0 = PB_9 | ALT0,
AnnaBridge 163:e59c8e839560 85 PB_10 = 0x1A,
AnnaBridge 163:e59c8e839560 86 PB_12 = 0x1C,
AnnaBridge 163:e59c8e839560 87 PB_13 = 0x1D,
AnnaBridge 163:e59c8e839560 88 PB_14 = 0x1E,
AnnaBridge 163:e59c8e839560 89 PB_15 = 0x1F,
AnnaBridge 163:e59c8e839560 90
AnnaBridge 163:e59c8e839560 91 PC_0 = 0x20,
AnnaBridge 163:e59c8e839560 92 PC_1 = 0x21,
AnnaBridge 163:e59c8e839560 93 PC_2 = 0x22,
AnnaBridge 163:e59c8e839560 94 PC_3 = 0x23,
AnnaBridge 163:e59c8e839560 95 PC_4 = 0x24,
AnnaBridge 163:e59c8e839560 96 PC_5 = 0x25,
AnnaBridge 163:e59c8e839560 97 PC_6 = 0x26,
AnnaBridge 163:e59c8e839560 98 PC_7 = 0x27,
AnnaBridge 163:e59c8e839560 99 PC_8 = 0x28,
AnnaBridge 163:e59c8e839560 100 PC_9 = 0x29,
AnnaBridge 163:e59c8e839560 101 PC_10 = 0x2A,
AnnaBridge 163:e59c8e839560 102 PC_11 = 0x2B,
AnnaBridge 163:e59c8e839560 103 PC_12 = 0x2C,
AnnaBridge 163:e59c8e839560 104 PC_13 = 0x2D,
AnnaBridge 163:e59c8e839560 105 PC_14 = 0x2E,
AnnaBridge 163:e59c8e839560 106 PC_15 = 0x2F,
AnnaBridge 163:e59c8e839560 107
AnnaBridge 163:e59c8e839560 108 PD_0 = 0x30,
AnnaBridge 163:e59c8e839560 109 PD_1 = 0x31,
AnnaBridge 163:e59c8e839560 110 PD_2 = 0x32,
AnnaBridge 163:e59c8e839560 111 PD_3 = 0x33,
AnnaBridge 163:e59c8e839560 112 PD_4 = 0x34,
AnnaBridge 163:e59c8e839560 113 PD_5 = 0x35,
AnnaBridge 163:e59c8e839560 114 PD_6 = 0x36,
AnnaBridge 163:e59c8e839560 115 PD_7 = 0x37,
AnnaBridge 163:e59c8e839560 116 PD_8 = 0x38,
AnnaBridge 163:e59c8e839560 117 PD_9 = 0x39,
AnnaBridge 163:e59c8e839560 118 PD_10 = 0x3A,
AnnaBridge 163:e59c8e839560 119 PD_11 = 0x3B,
AnnaBridge 163:e59c8e839560 120 PD_12 = 0x3C,
AnnaBridge 163:e59c8e839560 121 PD_13 = 0x3D,
AnnaBridge 163:e59c8e839560 122 PD_14 = 0x3E,
AnnaBridge 163:e59c8e839560 123 PD_15 = 0x3F,
AnnaBridge 163:e59c8e839560 124
AnnaBridge 163:e59c8e839560 125 PE_0 = 0x40,
AnnaBridge 163:e59c8e839560 126 PE_1 = 0x41,
AnnaBridge 163:e59c8e839560 127 PE_2 = 0x42,
AnnaBridge 163:e59c8e839560 128 PE_3 = 0x43,
AnnaBridge 163:e59c8e839560 129 PE_4 = 0x44,
AnnaBridge 163:e59c8e839560 130 PE_5 = 0x45,
AnnaBridge 163:e59c8e839560 131 PE_6 = 0x46,
AnnaBridge 163:e59c8e839560 132 PE_7 = 0x47,
AnnaBridge 163:e59c8e839560 133 PE_8 = 0x48,
AnnaBridge 163:e59c8e839560 134 PE_9 = 0x49,
AnnaBridge 163:e59c8e839560 135 PE_10 = 0x4A,
AnnaBridge 163:e59c8e839560 136 PE_11 = 0x4B,
AnnaBridge 163:e59c8e839560 137 PE_12 = 0x4C,
AnnaBridge 163:e59c8e839560 138 PE_13 = 0x4D,
AnnaBridge 163:e59c8e839560 139 PE_14 = 0x4E,
AnnaBridge 163:e59c8e839560 140 PE_15 = 0x4F,
AnnaBridge 163:e59c8e839560 141
AnnaBridge 163:e59c8e839560 142 PH_0 = 0x70, // Connected to RCC_OSC_IN
AnnaBridge 163:e59c8e839560 143 PH_1 = 0x71, // Connected to RCC_OSC_OUT
AnnaBridge 163:e59c8e839560 144
AnnaBridge 163:e59c8e839560 145 // ADC internal channels
AnnaBridge 163:e59c8e839560 146 ADC_TEMP = 0xF0,
AnnaBridge 163:e59c8e839560 147 ADC_VREF = 0xF1,
AnnaBridge 163:e59c8e839560 148 ADC_VBAT = 0xF2,
AnnaBridge 163:e59c8e839560 149
AnnaBridge 163:e59c8e839560 150 // STDIO for console print
AnnaBridge 163:e59c8e839560 151 #ifdef MBED_CONF_TARGET_STDIO_UART_TX
AnnaBridge 163:e59c8e839560 152 STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
AnnaBridge 163:e59c8e839560 153 #else
AnnaBridge 163:e59c8e839560 154 STDIO_UART_TX = PA_9,
AnnaBridge 163:e59c8e839560 155 #endif
AnnaBridge 163:e59c8e839560 156 #ifdef MBED_CONF_TARGET_STDIO_UART_RX
AnnaBridge 163:e59c8e839560 157 STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
AnnaBridge 163:e59c8e839560 158 #else
AnnaBridge 163:e59c8e839560 159 STDIO_UART_RX = PA_10,
AnnaBridge 163:e59c8e839560 160 #endif
AnnaBridge 163:e59c8e839560 161
AnnaBridge 163:e59c8e839560 162 // Generic signals namings
AnnaBridge 163:e59c8e839560 163 LED1 = PA_5,
AnnaBridge 163:e59c8e839560 164 LED2 = PA_5,
AnnaBridge 163:e59c8e839560 165 LED3 = PA_5,
AnnaBridge 163:e59c8e839560 166 LED4 = PA_5,
AnnaBridge 163:e59c8e839560 167 LED_RED = LED1,
AnnaBridge 163:e59c8e839560 168 USER_BUTTON = PE_7,
AnnaBridge 163:e59c8e839560 169 // Standardized button names
AnnaBridge 163:e59c8e839560 170 BUTTON1 = USER_BUTTON,
AnnaBridge 163:e59c8e839560 171 SERIAL_TX = STDIO_UART_TX,
AnnaBridge 163:e59c8e839560 172 SERIAL_RX = STDIO_UART_RX,
AnnaBridge 163:e59c8e839560 173 USBTX = STDIO_UART_TX,
AnnaBridge 163:e59c8e839560 174 USBRX = STDIO_UART_RX,
AnnaBridge 163:e59c8e839560 175 I2C_SCL = PB_8,
AnnaBridge 163:e59c8e839560 176 I2C_SDA = PB_9,
AnnaBridge 163:e59c8e839560 177 SPI_MOSI = PA_7,
AnnaBridge 163:e59c8e839560 178 SPI_MISO = PA_6,
AnnaBridge 163:e59c8e839560 179 SPI_SCK = PA_5,
AnnaBridge 163:e59c8e839560 180 SPI_CS = PB_6,
AnnaBridge 163:e59c8e839560 181 PWM_OUT = PB_3,
AnnaBridge 163:e59c8e839560 182
AnnaBridge 163:e59c8e839560 183 //USB pins
AnnaBridge 163:e59c8e839560 184 USB_OTG_FS_SOF = PA_8,
AnnaBridge 163:e59c8e839560 185 USB_OTG_FS_VBUS = PA_9,
AnnaBridge 163:e59c8e839560 186 USB_OTG_FS_ID = PA_10,
AnnaBridge 163:e59c8e839560 187 USB_OTG_FS_DM = PA_11,
AnnaBridge 163:e59c8e839560 188 USB_OTG_FS_DP = PA_12,
AnnaBridge 163:e59c8e839560 189
AnnaBridge 163:e59c8e839560 190 // Not connected
AnnaBridge 163:e59c8e839560 191 NC = (int)0xFFFFFFFF
AnnaBridge 163:e59c8e839560 192 } PinName;
AnnaBridge 163:e59c8e839560 193
AnnaBridge 163:e59c8e839560 194 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 195 }
AnnaBridge 163:e59c8e839560 196 #endif
AnnaBridge 163:e59c8e839560 197
AnnaBridge 163:e59c8e839560 198 #endif