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 Sep 16 11:15:09 2015 +0100
Revision:
622:db79ecd649d0
Synchronized with git revision 45d00c36b3132acdfcb75bda6258bd8444ac5392

Full URL: https://github.com/mbedmicro/mbed/commit/45d00c36b3132acdfcb75bda6258bd8444ac5392/

[NUCLEO_L476RG] add hal and target files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 622:db79ecd649d0 1 /* mbed Microcontroller Library
mbed_official 622:db79ecd649d0 2 *******************************************************************************
mbed_official 622:db79ecd649d0 3 * Copyright (c) 2015, STMicroelectronics
mbed_official 622:db79ecd649d0 4 * All rights reserved.
mbed_official 622:db79ecd649d0 5 *
mbed_official 622:db79ecd649d0 6 * Redistribution and use in source and binary forms, with or without
mbed_official 622:db79ecd649d0 7 * modification, are permitted provided that the following conditions are met:
mbed_official 622:db79ecd649d0 8 *
mbed_official 622:db79ecd649d0 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 622:db79ecd649d0 10 * this list of conditions and the following disclaimer.
mbed_official 622:db79ecd649d0 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 622:db79ecd649d0 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 622:db79ecd649d0 13 * and/or other materials provided with the distribution.
mbed_official 622:db79ecd649d0 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 622:db79ecd649d0 15 * may be used to endorse or promote products derived from this software
mbed_official 622:db79ecd649d0 16 * without specific prior written permission.
mbed_official 622:db79ecd649d0 17 *
mbed_official 622:db79ecd649d0 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 622:db79ecd649d0 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 622:db79ecd649d0 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 622:db79ecd649d0 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 622:db79ecd649d0 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 622:db79ecd649d0 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 622:db79ecd649d0 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 622:db79ecd649d0 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 622:db79ecd649d0 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 622:db79ecd649d0 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 622:db79ecd649d0 28 *******************************************************************************
mbed_official 622:db79ecd649d0 29 */
mbed_official 622:db79ecd649d0 30
mbed_official 622:db79ecd649d0 31 #include "PeripheralPins.h"
mbed_official 622:db79ecd649d0 32
mbed_official 622:db79ecd649d0 33 // =====
mbed_official 622:db79ecd649d0 34 // Note: Commented lines are alternative possibilities which are not used per default.
mbed_official 622:db79ecd649d0 35 // If you change them, you will have also to modify the corresponding xxx_api.c file
mbed_official 622:db79ecd649d0 36 // for pwmout, analogin, analogout, ...
mbed_official 622:db79ecd649d0 37 // =====
mbed_official 622:db79ecd649d0 38
mbed_official 622:db79ecd649d0 39 //*** ADC ***
mbed_official 622:db79ecd649d0 40
mbed_official 622:db79ecd649d0 41 const PinMap PinMap_ADC[] = {
mbed_official 622:db79ecd649d0 42 {PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 5, 0)}, // IN5 - ARDUINO A0
mbed_official 622:db79ecd649d0 43 {PA_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 6, 0)}, // IN6 - ARDUINO A1
mbed_official 622:db79ecd649d0 44 {PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 7, 0)}, // IN7
mbed_official 622:db79ecd649d0 45 {PA_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 8, 0)}, // IN8
mbed_official 622:db79ecd649d0 46 {PA_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 9, 0)}, // IN9 - ARDUINO A2
mbed_official 622:db79ecd649d0 47 {PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 10, 0)}, // IN10
mbed_official 622:db79ecd649d0 48 {PA_6, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 11, 0)}, // IN11
mbed_official 622:db79ecd649d0 49 {PA_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 12, 0)}, // IN12
mbed_official 622:db79ecd649d0 50 {PB_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 15, 0)}, // IN15 - ARDUINO A3
mbed_official 622:db79ecd649d0 51 {PB_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 16, 0)}, // IN16
mbed_official 622:db79ecd649d0 52 {PC_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 1, 0)}, // IN1 - ARDUINO A5
mbed_official 622:db79ecd649d0 53 {PC_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 2, 0)}, // IN2 - ARDUINO A4
mbed_official 622:db79ecd649d0 54 {PC_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 3, 0)}, // IN3
mbed_official 622:db79ecd649d0 55 {PC_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 4, 0)}, // IN4
mbed_official 622:db79ecd649d0 56 {PC_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 13, 0)}, // IN13
mbed_official 622:db79ecd649d0 57 {PC_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG_ADC_CONTROL, GPIO_NOPULL, 0, 14, 0)}, // IN14
mbed_official 622:db79ecd649d0 58 {NC, NC, 0}
mbed_official 622:db79ecd649d0 59 };
mbed_official 622:db79ecd649d0 60
mbed_official 622:db79ecd649d0 61 //*** DAC ***
mbed_official 622:db79ecd649d0 62
mbed_official 622:db79ecd649d0 63 const PinMap PinMap_DAC[] = {
mbed_official 622:db79ecd649d0 64 {PA_4, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // OUT1
mbed_official 622:db79ecd649d0 65 {PA_5, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // OUT2 (Warning: LED1 is also on this pin)
mbed_official 622:db79ecd649d0 66 {NC, NC, 0}
mbed_official 622:db79ecd649d0 67 };
mbed_official 622:db79ecd649d0 68
mbed_official 622:db79ecd649d0 69 //*** I2C ***
mbed_official 622:db79ecd649d0 70
mbed_official 622:db79ecd649d0 71 const PinMap PinMap_I2C_SDA[] = {
mbed_official 622:db79ecd649d0 72 {PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 622:db79ecd649d0 73 {PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 622:db79ecd649d0 74 {PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 622:db79ecd649d0 75 {PB_14, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 622:db79ecd649d0 76 {PC_1, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
mbed_official 622:db79ecd649d0 77 {NC, NC, 0}
mbed_official 622:db79ecd649d0 78 };
mbed_official 622:db79ecd649d0 79
mbed_official 622:db79ecd649d0 80 const PinMap PinMap_I2C_SCL[] = {
mbed_official 622:db79ecd649d0 81 {PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 622:db79ecd649d0 82 {PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
mbed_official 622:db79ecd649d0 83 {PB_10, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 622:db79ecd649d0 84 {PB_13, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
mbed_official 622:db79ecd649d0 85 {PC_0, I2C_3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)},
mbed_official 622:db79ecd649d0 86 {NC, NC, 0}
mbed_official 622:db79ecd649d0 87 };
mbed_official 622:db79ecd649d0 88
mbed_official 622:db79ecd649d0 89 //*** PWM ***
mbed_official 622:db79ecd649d0 90
mbed_official 622:db79ecd649d0 91 // Warning: TIM5 cannot be used because already used by the us_ticker.
mbed_official 622:db79ecd649d0 92 const PinMap PinMap_PWM[] = {
mbed_official 622:db79ecd649d0 93 {PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
mbed_official 622:db79ecd649d0 94 // {PA_0, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 (used by us_ticker)
mbed_official 622:db79ecd649d0 95 {PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2
mbed_official 622:db79ecd649d0 96 // {PA_1, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 (used by us_ticker)
mbed_official 622:db79ecd649d0 97 // {PA_1, PWM_15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 1)},// TIM15_CH1N
mbed_official 622:db79ecd649d0 98 {PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3
mbed_official 622:db79ecd649d0 99 // {PA_2, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 (used by us_ticker)
mbed_official 622:db79ecd649d0 100 // {PA_2, PWM_15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 0)},// TIM15_CH1
mbed_official 622:db79ecd649d0 101 {PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
mbed_official 622:db79ecd649d0 102 // {PA_3, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 (used by us_ticker)
mbed_official 622:db79ecd649d0 103 // {PA_3, PWM_15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 2, 0)},// TIM15_CH2
mbed_official 622:db79ecd649d0 104 {PA_5, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
mbed_official 622:db79ecd649d0 105 // {PA_5, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N
mbed_official 622:db79ecd649d0 106 {PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
mbed_official 622:db79ecd649d0 107 // {PA_6, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM16, 1, 0)},// TIM16_CH1
mbed_official 622:db79ecd649d0 108 {PA_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 - ARDUINO D11
mbed_official 622:db79ecd649d0 109 // {PA_7, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
mbed_official 622:db79ecd649d0 110 // {PA_7, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N
mbed_official 622:db79ecd649d0 111 // {PA_7, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM17, 1, 0)},// TIM17_CH1
mbed_official 622:db79ecd649d0 112 {PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1
mbed_official 622:db79ecd649d0 113 {PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
mbed_official 622:db79ecd649d0 114 {PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
mbed_official 622:db79ecd649d0 115 {PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4
mbed_official 622:db79ecd649d0 116 {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1
mbed_official 622:db79ecd649d0 117 {PB_0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
mbed_official 622:db79ecd649d0 118 // {PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
mbed_official 622:db79ecd649d0 119 // {PB_0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N
mbed_official 622:db79ecd649d0 120 {PB_1, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
mbed_official 622:db79ecd649d0 121 // {PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
mbed_official 622:db79ecd649d0 122 // {PB_1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N
mbed_official 622:db79ecd649d0 123 {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 - ARDUINO D3
mbed_official 622:db79ecd649d0 124 {PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 - ARDUINO D5
mbed_official 622:db79ecd649d0 125 {PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
mbed_official 622:db79ecd649d0 126 {PB_6, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 - ARDUINO D10
mbed_official 622:db79ecd649d0 127 // {PB_6, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM16, 1, 1)},// TIM16_CH1N
mbed_official 622:db79ecd649d0 128 {PB_7, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2
mbed_official 622:db79ecd649d0 129 // {PB_7, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM17, 1, 1)},// TIM17_CH1N
mbed_official 622:db79ecd649d0 130 {PB_8, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3
mbed_official 622:db79ecd649d0 131 // {PB_6, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM16, 1, 0)},// TIM16_CH1
mbed_official 622:db79ecd649d0 132 {PB_9, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4
mbed_official 622:db79ecd649d0 133 // {PB_9, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM17, 1, 0)},// TIM17_CH1
mbed_official 622:db79ecd649d0 134 {PB_10, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 - ARDUINO D6
mbed_official 622:db79ecd649d0 135 {PB_11, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4
mbed_official 622:db79ecd649d0 136 {PB_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
mbed_official 622:db79ecd649d0 137 // {PB_13, PWM_15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 1)},// TIM15_CH1N
mbed_official 622:db79ecd649d0 138 {PB_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
mbed_official 622:db79ecd649d0 139 // {PB_14, PWM_15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 1, 0)},// TIM15_CH1
mbed_official 622:db79ecd649d0 140 // {PB_14, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N
mbed_official 622:db79ecd649d0 141 {PB_15, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
mbed_official 622:db79ecd649d0 142 // {PB_15, PWM_15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM15, 2, 0)},// TIM15_CH2
mbed_official 622:db79ecd649d0 143 // {PB_15, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N
mbed_official 622:db79ecd649d0 144 {PC_6, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1
mbed_official 622:db79ecd649d0 145 // {PC_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1
mbed_official 622:db79ecd649d0 146 {PC_7, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 - ARDUINO D9
mbed_official 622:db79ecd649d0 147 // {PC_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2
mbed_official 622:db79ecd649d0 148 {PC_8, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3
mbed_official 622:db79ecd649d0 149 // {PC_8, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3
mbed_official 622:db79ecd649d0 150 {PC_9, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4
mbed_official 622:db79ecd649d0 151 // {PC_9, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4
mbed_official 622:db79ecd649d0 152 {NC, NC, 0}
mbed_official 622:db79ecd649d0 153 };
mbed_official 622:db79ecd649d0 154
mbed_official 622:db79ecd649d0 155 //*** SERIAL ***
mbed_official 622:db79ecd649d0 156
mbed_official 622:db79ecd649d0 157 const PinMap PinMap_UART_TX[] = {
mbed_official 622:db79ecd649d0 158 {PA_0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 622:db79ecd649d0 159 {PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
mbed_official 622:db79ecd649d0 160 {PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 622:db79ecd649d0 161 {PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 622:db79ecd649d0 162 {PB_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 622:db79ecd649d0 163 // {PB_11, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // Already used by UART_RX
mbed_official 622:db79ecd649d0 164 {PC_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)},
mbed_official 622:db79ecd649d0 165 {PC_4, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 622:db79ecd649d0 166 {PC_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 622:db79ecd649d0 167 // {PC_10, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 622:db79ecd649d0 168 {PC_12, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
mbed_official 622:db79ecd649d0 169 {NC, NC, 0}
mbed_official 622:db79ecd649d0 170 };
mbed_official 622:db79ecd649d0 171
mbed_official 622:db79ecd649d0 172 const PinMap PinMap_UART_RX[] = {
mbed_official 622:db79ecd649d0 173 {PA_1, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 622:db79ecd649d0 174 {PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
mbed_official 622:db79ecd649d0 175 {PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 622:db79ecd649d0 176 {PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
mbed_official 622:db79ecd649d0 177 // {PB_10, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)}, // Already used by UART_TX
mbed_official 622:db79ecd649d0 178 {PB_11, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 622:db79ecd649d0 179 {PC_0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART1)},
mbed_official 622:db79ecd649d0 180 {PC_5, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 622:db79ecd649d0 181 {PC_11, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
mbed_official 622:db79ecd649d0 182 // {PC_11, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
mbed_official 622:db79ecd649d0 183 {PD_2, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
mbed_official 622:db79ecd649d0 184 {NC, NC, 0}
mbed_official 622:db79ecd649d0 185 };
mbed_official 622:db79ecd649d0 186
mbed_official 622:db79ecd649d0 187 //*** SPI ***
mbed_official 622:db79ecd649d0 188
mbed_official 622:db79ecd649d0 189 const PinMap PinMap_SPI_MOSI[] = {
mbed_official 622:db79ecd649d0 190 {PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // ARDUINO D11
mbed_official 622:db79ecd649d0 191 {PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 622:db79ecd649d0 192 {PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 193 {PC_3, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 194 {PC_12, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 622:db79ecd649d0 195 {NC, NC, 0}
mbed_official 622:db79ecd649d0 196 };
mbed_official 622:db79ecd649d0 197
mbed_official 622:db79ecd649d0 198 const PinMap PinMap_SPI_MISO[] = {
mbed_official 622:db79ecd649d0 199 {PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // ARDUINO D12
mbed_official 622:db79ecd649d0 200 {PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 622:db79ecd649d0 201 {PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 202 {PC_2, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 203 {PC_11, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 622:db79ecd649d0 204 {NC, NC, 0}
mbed_official 622:db79ecd649d0 205 };
mbed_official 622:db79ecd649d0 206
mbed_official 622:db79ecd649d0 207 const PinMap PinMap_SPI_SCLK[] = {
mbed_official 622:db79ecd649d0 208 {PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, // ARDUINO D13
mbed_official 622:db79ecd649d0 209 {PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 622:db79ecd649d0 210 {PB_10, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 211 {PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 212 {PC_10, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 622:db79ecd649d0 213 {NC, NC, 0}
mbed_official 622:db79ecd649d0 214 };
mbed_official 622:db79ecd649d0 215
mbed_official 622:db79ecd649d0 216 const PinMap PinMap_SPI_SSEL[] = {
mbed_official 622:db79ecd649d0 217 {PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 622:db79ecd649d0 218 // {PA_4, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 622:db79ecd649d0 219 {PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
mbed_official 622:db79ecd649d0 220 // {PA_15, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)},
mbed_official 622:db79ecd649d0 221 {PB_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 222 {PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
mbed_official 622:db79ecd649d0 223 {NC, NC, 0}
mbed_official 622:db79ecd649d0 224 };