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:
Wed Jul 08 15:00:09 2015 +0100
Revision:
586:dfaf40375987
Parent:
511:532f83b66a7f
Synchronized with git revision 13790ec5ce78baabd51c96ea7fb135e853a490ec

Full URL: https://github.com/mbedmicro/mbed/commit/13790ec5ce78baabd51c96ea7fb135e853a490ec/

update target C029 (pin, clock)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 464:04583941e294 1 /* mbed Microcontroller Library
mbed_official 464:04583941e294 2 *******************************************************************************
mbed_official 464:04583941e294 3 * Copyright (c) 2014, STMicroelectronics
mbed_official 464:04583941e294 4 * All rights reserved.
mbed_official 464:04583941e294 5 *
mbed_official 464:04583941e294 6 * Redistribution and use in source and binary forms, with or without
mbed_official 464:04583941e294 7 * modification, are permitted provided that the following conditions are met:
mbed_official 464:04583941e294 8 *
mbed_official 464:04583941e294 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 464:04583941e294 10 * this list of conditions and the following disclaimer.
mbed_official 464:04583941e294 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 464:04583941e294 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 464:04583941e294 13 * and/or other materials provided with the distribution.
mbed_official 464:04583941e294 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 464:04583941e294 15 * may be used to endorse or promote products derived from this software
mbed_official 464:04583941e294 16 * without specific prior written permission.
mbed_official 464:04583941e294 17 *
mbed_official 464:04583941e294 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 464:04583941e294 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 464:04583941e294 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 464:04583941e294 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 464:04583941e294 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 464:04583941e294 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 464:04583941e294 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 464:04583941e294 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 464:04583941e294 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 464:04583941e294 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 464:04583941e294 28 *******************************************************************************
mbed_official 464:04583941e294 29 */
mbed_official 464:04583941e294 30 #ifndef MBED_PINNAMES_H
mbed_official 464:04583941e294 31 #define MBED_PINNAMES_H
mbed_official 464:04583941e294 32
mbed_official 464:04583941e294 33 #include "cmsis.h"
mbed_official 464:04583941e294 34
mbed_official 464:04583941e294 35 #ifdef __cplusplus
mbed_official 464:04583941e294 36 extern "C" {
mbed_official 464:04583941e294 37 #endif
mbed_official 464:04583941e294 38
mbed_official 464:04583941e294 39 // See stm32f4xx_hal_gpio.h and stm32f4xx_hal_gpio_ex.h for values of MODE, PUPD and AFNUM
mbed_official 464:04583941e294 40 #define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((AFNUM) << 7) | ((PUPD) << 4) | ((MODE) << 0)))
mbed_official 511:532f83b66a7f 41 #define STM_PIN_DATA_EXT(MODE, PUPD, AFNUM, CHANNEL, INVERTED) ((int)(((INVERTED & 0x01) << 15) | ((CHANNEL & 0x0F) << 11) | ((AFNUM & 0x0F) << 7) | ((PUPD & 0x07) << 4) | ((MODE & 0x0F) << 0)))
mbed_official 464:04583941e294 42 #define STM_PIN_MODE(X) (((X) >> 0) & 0x0F)
mbed_official 464:04583941e294 43 #define STM_PIN_PUPD(X) (((X) >> 4) & 0x07)
mbed_official 464:04583941e294 44 #define STM_PIN_AFNUM(X) (((X) >> 7) & 0x0F)
mbed_official 511:532f83b66a7f 45 #define STM_PIN_CHANNEL(X) (((X) >> 11) & 0x0F)
mbed_official 511:532f83b66a7f 46 #define STM_PIN_INVERTED(X) (((X) >> 15) & 0x01)
mbed_official 464:04583941e294 47 #define STM_MODE_INPUT (0)
mbed_official 464:04583941e294 48 #define STM_MODE_OUTPUT_PP (1)
mbed_official 464:04583941e294 49 #define STM_MODE_OUTPUT_OD (2)
mbed_official 464:04583941e294 50 #define STM_MODE_AF_PP (3)
mbed_official 464:04583941e294 51 #define STM_MODE_AF_OD (4)
mbed_official 464:04583941e294 52 #define STM_MODE_ANALOG (5)
mbed_official 464:04583941e294 53 #define STM_MODE_IT_RISING (6)
mbed_official 464:04583941e294 54 #define STM_MODE_IT_FALLING (7)
mbed_official 464:04583941e294 55 #define STM_MODE_IT_RISING_FALLING (8)
mbed_official 464:04583941e294 56 #define STM_MODE_EVT_RISING (9)
mbed_official 464:04583941e294 57 #define STM_MODE_EVT_FALLING (10)
mbed_official 464:04583941e294 58 #define STM_MODE_EVT_RISING_FALLING (11)
mbed_official 464:04583941e294 59 #define STM_MODE_IT_EVT_RESET (12)
mbed_official 464:04583941e294 60
mbed_official 464:04583941e294 61 // High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H)
mbed_official 464:04583941e294 62 // Low nibble = pin number
mbed_official 464:04583941e294 63 #define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF)
mbed_official 464:04583941e294 64 #define STM_PIN(X) ((uint32_t)(X) & 0xF)
mbed_official 464:04583941e294 65
mbed_official 464:04583941e294 66 typedef enum {
mbed_official 464:04583941e294 67 PIN_INPUT,
mbed_official 464:04583941e294 68 PIN_OUTPUT
mbed_official 464:04583941e294 69 } PinDirection;
mbed_official 464:04583941e294 70
mbed_official 464:04583941e294 71 typedef enum {
mbed_official 464:04583941e294 72 PA_0 = 0x00, PA_1 = 0x01, PA_2 = 0x02, PA_3 = 0x03,
mbed_official 464:04583941e294 73 PA_4 = 0x04, PA_5 = 0x05, PA_6 = 0x06, PA_7 = 0x07,
mbed_official 464:04583941e294 74 PA_8 = 0x08, PA_9 = 0x09, PA_10 = 0x0A, PA_11 = 0x0B,
mbed_official 464:04583941e294 75 PA_12 = 0x0C, PA_13 = 0x0D, PA_14 = 0x0E, PA_15 = 0x0F,
mbed_official 464:04583941e294 76
mbed_official 464:04583941e294 77 PB_0 = 0x10, PB_1 = 0x11, PB_2 = 0x12, PB_3 = 0x13,
mbed_official 464:04583941e294 78 PB_4 = 0x14, PB_5 = 0x15, PB_6 = 0x16, PB_7 = 0x17,
mbed_official 464:04583941e294 79 PB_8 = 0x18, PB_9 = 0x19, PB_10 = 0x1A, PB_11 = 0x1B,
mbed_official 464:04583941e294 80 PB_12 = 0x1C, PB_13 = 0x1D, PB_14 = 0x1E, PB_15 = 0x1F,
mbed_official 464:04583941e294 81
mbed_official 464:04583941e294 82 PC_0 = 0x20, PC_1 = 0x21, PC_2 = 0x22, PC_3 = 0x23,
mbed_official 464:04583941e294 83 PC_4 = 0x24, PC_5 = 0x25, PC_6 = 0x26, PC_7 = 0x27,
mbed_official 464:04583941e294 84 PC_8 = 0x28, PC_9 = 0x29, PC_10 = 0x2A, PC_11 = 0x2B,
mbed_official 464:04583941e294 85 PC_12 = 0x2C, PC_13 = 0x2D, PC_14 = 0x2E, PC_15 = 0x2F,
mbed_official 464:04583941e294 86
mbed_official 464:04583941e294 87 PD_0 = 0x30, PD_1 = 0x31, PD_2 = 0x32, PD_3 = 0x33,
mbed_official 464:04583941e294 88 PD_4 = 0x34, PD_5 = 0x35, PD_6 = 0x36, PD_7 = 0x37,
mbed_official 464:04583941e294 89 PD_8 = 0x38, PD_9 = 0x39, PD_10 = 0x3A, PD_11 = 0x3B,
mbed_official 464:04583941e294 90 PD_12 = 0x3C, PD_13 = 0x3D, PD_14 = 0x3E, PD_15 = 0x3F,
mbed_official 464:04583941e294 91
mbed_official 464:04583941e294 92 PE_0 = 0x40, PE_1 = 0x41, PE_2 = 0x42, PE_3 = 0x43,
mbed_official 464:04583941e294 93 PE_4 = 0x44, PE_5 = 0x45, PE_6 = 0x46, PE_7 = 0x47,
mbed_official 464:04583941e294 94 PE_8 = 0x48, PE_9 = 0x49, PE_10 = 0x4A, PE_11 = 0x4B,
mbed_official 464:04583941e294 95 PE_12 = 0x4C, PE_13 = 0x4D, PE_14 = 0x4E, PE_15 = 0x4F,
mbed_official 464:04583941e294 96
mbed_official 464:04583941e294 97 PF_0 = 0x50, PF_1 = 0x51, PF_2 = 0x52, PF_3 = 0x53,
mbed_official 464:04583941e294 98 PF_4 = 0x54, PF_5 = 0x55, PF_6 = 0x56, PF_7 = 0x57,
mbed_official 464:04583941e294 99 PF_8 = 0x58, PF_9 = 0x59, PF_10 = 0x5A, PF_11 = 0x5B,
mbed_official 464:04583941e294 100 PF_12 = 0x5C, PF_13 = 0x5D, PF_14 = 0x5E, PF_15 = 0x5F,
mbed_official 464:04583941e294 101
mbed_official 464:04583941e294 102 PG_0 = 0x60, PG_1 = 0x61, PG_2 = 0x62, PG_3 = 0x63,
mbed_official 464:04583941e294 103 PG_4 = 0x64, PG_5 = 0x65, PG_6 = 0x66, PG_7 = 0x67,
mbed_official 464:04583941e294 104 PG_8 = 0x68, PG_9 = 0x69, PG_10 = 0x6A, PG_11 = 0x6B,
mbed_official 464:04583941e294 105 PG_12 = 0x6C, PG_13 = 0x6D, PG_14 = 0x6E, PG_15 = 0x6F,
mbed_official 464:04583941e294 106
mbed_official 464:04583941e294 107 PH_0 = 0x70, PH_1 = 0x71, PH_2 = 0x72, PH_3 = 0x73,
mbed_official 464:04583941e294 108 PH_4 = 0x74, PH_5 = 0x75, PH_6 = 0x76, PH_7 = 0x77,
mbed_official 464:04583941e294 109 PH_8 = 0x78, PH_9 = 0x79, PH_10 = 0x7A, PH_11 = 0x7B,
mbed_official 464:04583941e294 110 PH_12 = 0x7C, PH_13 = 0x7D, PH_14 = 0x7E, PH_15 = 0x7F,
mbed_official 464:04583941e294 111
mbed_official 464:04583941e294 112 // Module Pins
mbed_official 464:04583941e294 113 // A
mbed_official 464:04583941e294 114 P_A5 = PC_2, // UART-DTR
mbed_official 490:ac0b37ef1651 115 P_A6 = PF_2, // Switch-0
mbed_official 490:ac0b37ef1651 116 P_A7 = PE_0, // Red, Mode
mbed_official 464:04583941e294 117 P_A8 = PB_6, // Green, Switch-1
mbed_official 464:04583941e294 118 P_A9 = PB_8, // Blue
mbed_official 464:04583941e294 119 P_A10 = PA_11, // UART-CTS
mbed_official 464:04583941e294 120 P_A11 = PA_9, // UART-TXD
mbed_official 464:04583941e294 121 P_A12 = PA_12, // UART-RTS
mbed_official 464:04583941e294 122 P_A13 = PA_10, // UART-RXD
mbed_official 464:04583941e294 123 P_A14 = PD_9, // GPIO-0
mbed_official 464:04583941e294 124 P_A15 = PD_8, // GPIO-1
mbed_official 464:04583941e294 125 P_A16 = PD_11, // GPIO-2
mbed_official 464:04583941e294 126 P_A17 = PD_12, // GPIO-3
mbed_official 464:04583941e294 127 P_A18 = PA_3, // UART-DSR
mbed_official 464:04583941e294 128 // B
mbed_official 586:dfaf40375987 129 // C
mbed_official 490:ac0b37ef1651 130 P_C5 = PG_4, // SPI-IRQ
mbed_official 464:04583941e294 131 P_C6 = PE_13, // SPI-MISO
mbed_official 464:04583941e294 132 P_C8 = PE_12, // Res
mbed_official 464:04583941e294 133 P_C10 = PE_14, // SPI-MOSI
mbed_official 464:04583941e294 134 P_C11 = PE_11, // SPI-CS0
mbed_official 464:04583941e294 135 P_C12 = PE_9, // Res
mbed_official 490:ac0b37ef1651 136 P_C13 = PF_6, // GPIO-4
mbed_official 464:04583941e294 137 P_C14 = PC_1, // RMII-MDC
mbed_official 464:04583941e294 138 P_C15 = PA_2, // RMII-MDIO
mbed_official 464:04583941e294 139 P_C16 = PF_7, // GPIO-7
mbed_official 464:04583941e294 140 P_C17 = PF_1, // I2C-SCL
mbed_official 464:04583941e294 141 P_C18 = PF_0, // I2C-SDA
mbed_official 586:dfaf40375987 142 // D
mbed_official 464:04583941e294 143 P_D1 = PB_12, // RMII-TXD0
mbed_official 464:04583941e294 144 P_D2 = PB_13, // RMII-TXD1
mbed_official 464:04583941e294 145 P_D3 = PB_11, // RMII-TXEN
mbed_official 464:04583941e294 146 P_D4 = PA_7, // RMII-CRSDV
mbed_official 464:04583941e294 147 P_D5 = PC_4, // RMII-RXD0
mbed_official 464:04583941e294 148 P_D6 = PC_5, // RMII-RXD1
mbed_official 464:04583941e294 149 P_D8 = PA_1, // RMII-REFCLK
mbed_official 464:04583941e294 150 // TP
mbed_official 464:04583941e294 151 P_TP5 = PB_4, // NTRST
mbed_official 464:04583941e294 152 P_TP7 = PA_13, // TMS SWDIO
mbed_official 464:04583941e294 153 P_TP8 = PA_15, // TDI
mbed_official 464:04583941e294 154 P_TP9 = PA_14, // TCK SWCLK
mbed_official 586:dfaf40375987 155 P_TP10 = PB_3, // TDO
mbed_official 586:dfaf40375987 156 //P_TP11, // BOOT0
mbed_official 464:04583941e294 157
mbed_official 464:04583941e294 158 // Board Pins
mbed_official 464:04583941e294 159 // A0-A5
mbed_official 586:dfaf40375987 160 A0 = PF_6, // AI4
mbed_official 586:dfaf40375987 161 A1 = PA_3, // AI3
mbed_official 586:dfaf40375987 162 A2 = PC_2, // AI12
mbed_official 586:dfaf40375987 163 A3 = PF_7, // LPOCLK, not AI
mbed_official 490:ac0b37ef1651 164 A4 = PG_4, // not AI
mbed_official 490:ac0b37ef1651 165 A5 = PB_3, // not AI
mbed_official 464:04583941e294 166 // D0-D15
mbed_official 586:dfaf40375987 167 D0 = PD_9, // UART3-RX
mbed_official 586:dfaf40375987 168 D1 = PD_8, // UART3-TX
mbed_official 586:dfaf40375987 169 D2 = PA_10, // UART1-RX
mbed_official 586:dfaf40375987 170 D3 = PA_11, // CAN1-RX
mbed_official 586:dfaf40375987 171 D4 = PA_12, // CAN1-TX
mbed_official 490:ac0b37ef1651 172 D5 = PA_15,
mbed_official 586:dfaf40375987 173 D6 = PD_11, // UART3-CTS
mbed_official 586:dfaf40375987 174 D7 = PD_12, // UART3-RTS
mbed_official 586:dfaf40375987 175 D8 = PA_9, // UART1-TX
mbed_official 586:dfaf40375987 176 D9 = PE_9, // SDCard-CS
mbed_official 464:04583941e294 177 D10 = PE_11, // SSEL
mbed_official 464:04583941e294 178 D11 = PE_14, // MOSI
mbed_official 464:04583941e294 179 D12 = PE_13, // MISO
mbed_official 464:04583941e294 180 D13 = PE_12, // SCK
mbed_official 464:04583941e294 181 D14 = PF_0, // SDA
mbed_official 464:04583941e294 182 D15 = PF_1, // SCL
mbed_official 464:04583941e294 183 // Internal
mbed_official 586:dfaf40375987 184 LED_RED = PE_0, // Red / Mode
mbed_official 586:dfaf40375987 185 LED_GRE = PB_6, // Green / Switch-1
mbed_official 490:ac0b37ef1651 186 LED_BLU = PB_8, // Blue
mbed_official 586:dfaf40375987 187 SW0 = PF_2, // Switch-0
mbed_official 586:dfaf40375987 188 SW1 = PB_6, // Green / Switch-1
mbed_official 586:dfaf40375987 189 // ST-Link
mbed_official 586:dfaf40375987 190 USBRXD = PD_9,
mbed_official 586:dfaf40375987 191 USBTXD = PD_8,
mbed_official 586:dfaf40375987 192 SWDIO = PA_15,
mbed_official 586:dfaf40375987 193 SWCLK = PA_14,
mbed_official 586:dfaf40375987 194 NTRST = PB_4,
mbed_official 464:04583941e294 195
mbed_official 464:04583941e294 196 // Not connected
mbed_official 464:04583941e294 197 NC = (int)0xFFFFFFFF
mbed_official 464:04583941e294 198 } PinName;
mbed_official 464:04583941e294 199
mbed_official 464:04583941e294 200 typedef enum {
mbed_official 464:04583941e294 201 PullNone = 0,
mbed_official 464:04583941e294 202 PullUp = 1,
mbed_official 464:04583941e294 203 PullDown = 2,
mbed_official 464:04583941e294 204 OpenDrain = 3,
mbed_official 464:04583941e294 205 PullDefault = PullNone
mbed_official 464:04583941e294 206 } PinMode;
mbed_official 464:04583941e294 207
mbed_official 464:04583941e294 208 #ifdef __cplusplus
mbed_official 464:04583941e294 209 }
mbed_official 464:04583941e294 210 #endif
mbed_official 464:04583941e294 211
mbed_official 464:04583941e294 212 #endif