mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Fri Nov 07 12:00:11 2014 +0000
Revision:
393:17d2d502961d
Parent:
157:90e3acc479a2
Child:
403:91a4bea587f4
Synchronized with git revision 78a3d4f2301aad7367e924e8231b4411d11038ea

Full URL: https://github.com/mbedmicro/mbed/commit/78a3d4f2301aad7367e924e8231b4411d11038ea/

Toolchain: NUCLEO_F0 - Add missing files for IAR exporter

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 157:90e3acc479a2 1 /* mbed Microcontroller Library
mbed_official 157:90e3acc479a2 2 *******************************************************************************
mbed_official 157:90e3acc479a2 3 * Copyright (c) 2014, STMicroelectronics
mbed_official 157:90e3acc479a2 4 * All rights reserved.
mbed_official 157:90e3acc479a2 5 *
mbed_official 157:90e3acc479a2 6 * Redistribution and use in source and binary forms, with or without
mbed_official 157:90e3acc479a2 7 * modification, are permitted provided that the following conditions are met:
mbed_official 157:90e3acc479a2 8 *
mbed_official 157:90e3acc479a2 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 157:90e3acc479a2 10 * this list of conditions and the following disclaimer.
mbed_official 157:90e3acc479a2 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 157:90e3acc479a2 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 157:90e3acc479a2 13 * and/or other materials provided with the distribution.
mbed_official 157:90e3acc479a2 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 157:90e3acc479a2 15 * may be used to endorse or promote products derived from this software
mbed_official 157:90e3acc479a2 16 * without specific prior written permission.
mbed_official 157:90e3acc479a2 17 *
mbed_official 157:90e3acc479a2 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 157:90e3acc479a2 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 157:90e3acc479a2 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 157:90e3acc479a2 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 157:90e3acc479a2 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 157:90e3acc479a2 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 157:90e3acc479a2 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 157:90e3acc479a2 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 157:90e3acc479a2 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 157:90e3acc479a2 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 157:90e3acc479a2 28 *******************************************************************************
mbed_official 157:90e3acc479a2 29 */
mbed_official 157:90e3acc479a2 30 #ifndef MBED_PINNAMES_H
mbed_official 157:90e3acc479a2 31 #define MBED_PINNAMES_H
mbed_official 157:90e3acc479a2 32
mbed_official 157:90e3acc479a2 33 #include "cmsis.h"
mbed_official 157:90e3acc479a2 34
mbed_official 157:90e3acc479a2 35 #ifdef __cplusplus
mbed_official 157:90e3acc479a2 36 extern "C" {
mbed_official 157:90e3acc479a2 37 #endif
mbed_official 157:90e3acc479a2 38
mbed_official 157:90e3acc479a2 39 // MODE (see GPIOMode_TypeDef structure)
mbed_official 157:90e3acc479a2 40 // OTYPE (see GPIOOType_TypeDef structure)
mbed_official 157:90e3acc479a2 41 // PUPD (see GPIOPuPd_TypeDef structure)
mbed_official 157:90e3acc479a2 42 // AFNUM (see AF_mapping constant table, 0xFF is not used)
mbed_official 157:90e3acc479a2 43 #define STM_PIN_DATA(MODE, OTYPE, PUPD, AFNUM) (((AFNUM)<<8)|((PUPD)<<4)|((OTYPE)<<2)|((MODE)<<0))
mbed_official 157:90e3acc479a2 44 #define STM_PIN_MODE(X) (((X)>>0) & 0x3)
mbed_official 157:90e3acc479a2 45 #define STM_PIN_OTYPE(X) (((X)>>2) & 0x1)
mbed_official 157:90e3acc479a2 46 #define STM_PIN_PUPD(X) (((X)>>4) & 0x3)
mbed_official 157:90e3acc479a2 47 #define STM_PIN_AFNUM(X) (((X)>>8) & 0xF)
mbed_official 157:90e3acc479a2 48
mbed_official 157:90e3acc479a2 49 // High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H)
mbed_official 157:90e3acc479a2 50 // Low nibble = pin number
mbed_official 157:90e3acc479a2 51 #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF)
mbed_official 157:90e3acc479a2 52 #define STM_PIN(X) ((uint32_t)(X) & 0xF)
mbed_official 157:90e3acc479a2 53
mbed_official 157:90e3acc479a2 54 typedef enum {
mbed_official 157:90e3acc479a2 55 PIN_INPUT,
mbed_official 157:90e3acc479a2 56 PIN_OUTPUT
mbed_official 157:90e3acc479a2 57 } PinDirection;
mbed_official 157:90e3acc479a2 58
mbed_official 157:90e3acc479a2 59 typedef enum {
mbed_official 157:90e3acc479a2 60 PA_0 = 0x00,
mbed_official 157:90e3acc479a2 61 PA_1 = 0x01,
mbed_official 157:90e3acc479a2 62 PA_2 = 0x02,
mbed_official 157:90e3acc479a2 63 PA_3 = 0x03,
mbed_official 157:90e3acc479a2 64 PA_4 = 0x04,
mbed_official 157:90e3acc479a2 65 PA_5 = 0x05,
mbed_official 157:90e3acc479a2 66 PA_6 = 0x06,
mbed_official 157:90e3acc479a2 67 PA_7 = 0x07,
mbed_official 157:90e3acc479a2 68 PA_8 = 0x08,
mbed_official 157:90e3acc479a2 69 PA_9 = 0x09,
mbed_official 157:90e3acc479a2 70 PA_10 = 0x0A,
mbed_official 157:90e3acc479a2 71 PA_11 = 0x0B,
mbed_official 157:90e3acc479a2 72 PA_12 = 0x0C,
mbed_official 157:90e3acc479a2 73 PA_13 = 0x0D,
mbed_official 157:90e3acc479a2 74 PA_14 = 0x0E,
mbed_official 157:90e3acc479a2 75 PA_15 = 0x0F,
mbed_official 157:90e3acc479a2 76
mbed_official 157:90e3acc479a2 77 PB_0 = 0x10,
mbed_official 157:90e3acc479a2 78 PB_1 = 0x11,
mbed_official 157:90e3acc479a2 79 PB_2 = 0x12,
mbed_official 157:90e3acc479a2 80 PB_3 = 0x13,
mbed_official 157:90e3acc479a2 81 PB_4 = 0x14,
mbed_official 157:90e3acc479a2 82 PB_5 = 0x15,
mbed_official 157:90e3acc479a2 83 PB_6 = 0x16,
mbed_official 157:90e3acc479a2 84 PB_7 = 0x17,
mbed_official 157:90e3acc479a2 85 PB_8 = 0x18,
mbed_official 157:90e3acc479a2 86 PB_9 = 0x19,
mbed_official 157:90e3acc479a2 87 PB_10 = 0x1A,
mbed_official 157:90e3acc479a2 88 PB_11 = 0x1B,
mbed_official 157:90e3acc479a2 89 PB_12 = 0x1C,
mbed_official 157:90e3acc479a2 90 PB_13 = 0x1D,
mbed_official 157:90e3acc479a2 91 PB_14 = 0x1E,
mbed_official 157:90e3acc479a2 92 PB_15 = 0x1F,
mbed_official 157:90e3acc479a2 93
mbed_official 157:90e3acc479a2 94 PC_0 = 0x20,
mbed_official 157:90e3acc479a2 95 PC_1 = 0x21,
mbed_official 157:90e3acc479a2 96 PC_2 = 0x22,
mbed_official 157:90e3acc479a2 97 PC_3 = 0x23,
mbed_official 157:90e3acc479a2 98 PC_4 = 0x24,
mbed_official 157:90e3acc479a2 99 PC_5 = 0x25,
mbed_official 157:90e3acc479a2 100 PC_6 = 0x26,
mbed_official 157:90e3acc479a2 101 PC_7 = 0x27,
mbed_official 157:90e3acc479a2 102 PC_8 = 0x28,
mbed_official 157:90e3acc479a2 103 PC_9 = 0x29,
mbed_official 157:90e3acc479a2 104 PC_10 = 0x2A,
mbed_official 157:90e3acc479a2 105 PC_11 = 0x2B,
mbed_official 157:90e3acc479a2 106 PC_12 = 0x2C,
mbed_official 157:90e3acc479a2 107 PC_13 = 0x2D,
mbed_official 157:90e3acc479a2 108 PC_14 = 0x2E,
mbed_official 157:90e3acc479a2 109 PC_15 = 0x2F,
mbed_official 157:90e3acc479a2 110
mbed_official 157:90e3acc479a2 111 PD_0 = 0x30,
mbed_official 157:90e3acc479a2 112 PD_1 = 0x31,
mbed_official 157:90e3acc479a2 113 PD_2 = 0x32,
mbed_official 157:90e3acc479a2 114 PD_3 = 0x33,
mbed_official 157:90e3acc479a2 115 PD_4 = 0x34,
mbed_official 157:90e3acc479a2 116 PD_5 = 0x35,
mbed_official 157:90e3acc479a2 117 PD_6 = 0x36,
mbed_official 157:90e3acc479a2 118 PD_7 = 0x37,
mbed_official 157:90e3acc479a2 119 PD_8 = 0x38,
mbed_official 157:90e3acc479a2 120 PD_9 = 0x39,
mbed_official 157:90e3acc479a2 121 PD_10 = 0x3A,
mbed_official 157:90e3acc479a2 122 PD_11 = 0x3B,
mbed_official 157:90e3acc479a2 123 PD_12 = 0x3C,
mbed_official 157:90e3acc479a2 124 PD_13 = 0x3D,
mbed_official 157:90e3acc479a2 125 PD_14 = 0x3E,
mbed_official 157:90e3acc479a2 126 PD_15 = 0x3F,
mbed_official 157:90e3acc479a2 127
mbed_official 157:90e3acc479a2 128 PE_0 = 0x40,
mbed_official 157:90e3acc479a2 129 PE_1 = 0x41,
mbed_official 157:90e3acc479a2 130 PE_2 = 0x42,
mbed_official 157:90e3acc479a2 131 PE_3 = 0x43,
mbed_official 157:90e3acc479a2 132 PE_4 = 0x44,
mbed_official 157:90e3acc479a2 133 PE_5 = 0x45,
mbed_official 157:90e3acc479a2 134 PE_6 = 0x46,
mbed_official 157:90e3acc479a2 135 PE_7 = 0x47,
mbed_official 157:90e3acc479a2 136 PE_8 = 0x48,
mbed_official 157:90e3acc479a2 137 PE_9 = 0x49,
mbed_official 157:90e3acc479a2 138 PE_10 = 0x4A,
mbed_official 157:90e3acc479a2 139 PE_11 = 0x4B,
mbed_official 157:90e3acc479a2 140 PE_12 = 0x4C,
mbed_official 157:90e3acc479a2 141 PE_13 = 0x4D,
mbed_official 157:90e3acc479a2 142 PE_14 = 0x4E,
mbed_official 157:90e3acc479a2 143 PE_15 = 0x4F,
mbed_official 157:90e3acc479a2 144
mbed_official 157:90e3acc479a2 145 PF_0 = 0x50,
mbed_official 157:90e3acc479a2 146 PF_1 = 0x51,
mbed_official 157:90e3acc479a2 147 PF_2 = 0x52,
mbed_official 157:90e3acc479a2 148 PF_3 = 0x53,
mbed_official 157:90e3acc479a2 149 PF_4 = 0x54,
mbed_official 157:90e3acc479a2 150 PF_5 = 0x55,
mbed_official 157:90e3acc479a2 151 PF_6 = 0x56,
mbed_official 157:90e3acc479a2 152 PF_7 = 0x57,
mbed_official 157:90e3acc479a2 153 PF_8 = 0x58,
mbed_official 157:90e3acc479a2 154 PF_9 = 0x59,
mbed_official 157:90e3acc479a2 155 PF_10 = 0x5A,
mbed_official 157:90e3acc479a2 156 PF_11 = 0x5B,
mbed_official 157:90e3acc479a2 157 PF_12 = 0x5C,
mbed_official 157:90e3acc479a2 158 PF_13 = 0x5D,
mbed_official 157:90e3acc479a2 159 PF_14 = 0x5E,
mbed_official 157:90e3acc479a2 160 PF_15 = 0x5F,
mbed_official 157:90e3acc479a2 161
mbed_official 157:90e3acc479a2 162 // Arduino connector namings
mbed_official 157:90e3acc479a2 163 A0 = PA_0,
mbed_official 157:90e3acc479a2 164 A1 = PA_1,
mbed_official 157:90e3acc479a2 165 A2 = PA_4,
mbed_official 157:90e3acc479a2 166 A3 = PB_0,
mbed_official 157:90e3acc479a2 167 A4 = PC_1,
mbed_official 157:90e3acc479a2 168 A5 = PC_0,
mbed_official 157:90e3acc479a2 169 D0 = PA_3,
mbed_official 157:90e3acc479a2 170 D1 = PA_2,
mbed_official 157:90e3acc479a2 171 D2 = PA_10,
mbed_official 157:90e3acc479a2 172 D3 = PB_3,
mbed_official 157:90e3acc479a2 173 D4 = PB_5,
mbed_official 157:90e3acc479a2 174 D5 = PB_4,
mbed_official 157:90e3acc479a2 175 D6 = PB_10,
mbed_official 157:90e3acc479a2 176 D7 = PA_8,
mbed_official 157:90e3acc479a2 177 D8 = PA_9,
mbed_official 157:90e3acc479a2 178 D9 = PC_7,
mbed_official 157:90e3acc479a2 179 D10 = PB_6,
mbed_official 157:90e3acc479a2 180 D11 = PA_7,
mbed_official 157:90e3acc479a2 181 D12 = PA_6,
mbed_official 157:90e3acc479a2 182 D13 = PA_5,
mbed_official 157:90e3acc479a2 183 D14 = PB_9,
mbed_official 157:90e3acc479a2 184 D15 = PB_8,
mbed_official 157:90e3acc479a2 185
mbed_official 157:90e3acc479a2 186 // Generic signals namings
mbed_official 157:90e3acc479a2 187 LED1 = PE_9,
mbed_official 157:90e3acc479a2 188 LED2 = PE_8,
mbed_official 157:90e3acc479a2 189 LED3 = PE_9,
mbed_official 157:90e3acc479a2 190 LED4 = PE_8,
mbed_official 157:90e3acc479a2 191 LED5 = PE_10,
mbed_official 157:90e3acc479a2 192 LED6 = PE_15,
mbed_official 157:90e3acc479a2 193 LED7 = PE_11,
mbed_official 157:90e3acc479a2 194 LED8 = PE_14,
mbed_official 157:90e3acc479a2 195 LED9 = PE_12,
mbed_official 157:90e3acc479a2 196 LED10 = PE_13,
mbed_official 157:90e3acc479a2 197 USER_BUTTON = PA_0,
mbed_official 157:90e3acc479a2 198 SERIAL_TX = PA_2, /* USART2 */
mbed_official 157:90e3acc479a2 199 SERIAL_RX = PA_3,
mbed_official 157:90e3acc479a2 200 USBTX = PA_2, /* USART2 */
mbed_official 157:90e3acc479a2 201 USBRX = PA_3,
mbed_official 157:90e3acc479a2 202 I2C_SCL = PB_8, /* I2C1 */
mbed_official 157:90e3acc479a2 203 I2C_SDA = PB_9,
mbed_official 157:90e3acc479a2 204 SPI_MOSI = PB_5, /* SPI1 */
mbed_official 157:90e3acc479a2 205 SPI_MISO = PB_4,
mbed_official 157:90e3acc479a2 206 SPI_SCK = PB_3,
mbed_official 157:90e3acc479a2 207 SPI_CS = PA_15,
mbed_official 157:90e3acc479a2 208 PWM_OUT = PB_1,
mbed_official 157:90e3acc479a2 209
mbed_official 157:90e3acc479a2 210 // Not connected
mbed_official 157:90e3acc479a2 211 NC = (int)0xFFFFFFFF
mbed_official 157:90e3acc479a2 212 } PinName;
mbed_official 157:90e3acc479a2 213
mbed_official 157:90e3acc479a2 214 typedef enum {
mbed_official 157:90e3acc479a2 215 PullNone = 0,
mbed_official 157:90e3acc479a2 216 PullUp = 1,
mbed_official 157:90e3acc479a2 217 PullDown = 2,
mbed_official 157:90e3acc479a2 218 OpenDrain = 3,
mbed_official 157:90e3acc479a2 219 PullDefault = PullNone
mbed_official 157:90e3acc479a2 220 } PinMode;
mbed_official 157:90e3acc479a2 221
mbed_official 157:90e3acc479a2 222 #ifdef __cplusplus
mbed_official 157:90e3acc479a2 223 }
mbed_official 157:90e3acc479a2 224 #endif
mbed_official 157:90e3acc479a2 225
mbed_official 157:90e3acc479a2 226 #endif