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:
Tue Dec 16 08:15:08 2014 +0000
Revision:
440:8a0b45cd594f
Parent:
414:4ec4c5b614b0
Child:
489:119543c9f674
Synchronized with git revision 67fbbf0b635d0c0d93fbe433306c537c2ad206aa

Full URL: https://github.com/mbedmicro/mbed/commit/67fbbf0b635d0c0d93fbe433306c537c2ad206aa/

Targets: nrf51 - updating app_timer.c from Norid'c SDKv7.1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 414:4ec4c5b614b0 1 /* mbed Microcontroller Library
mbed_official 414:4ec4c5b614b0 2 *******************************************************************************
mbed_official 414:4ec4c5b614b0 3 * Copyright (c) 2014, STMicroelectronics
mbed_official 414:4ec4c5b614b0 4 * All rights reserved.
mbed_official 414:4ec4c5b614b0 5 *
mbed_official 414:4ec4c5b614b0 6 * Redistribution and use in source and binary forms, with or without
mbed_official 414:4ec4c5b614b0 7 * modification, are permitted provided that the following conditions are met:
mbed_official 414:4ec4c5b614b0 8 *
mbed_official 414:4ec4c5b614b0 9 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 414:4ec4c5b614b0 10 * this list of conditions and the following disclaimer.
mbed_official 414:4ec4c5b614b0 11 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 414:4ec4c5b614b0 12 * this list of conditions and the following disclaimer in the documentation
mbed_official 414:4ec4c5b614b0 13 * and/or other materials provided with the distribution.
mbed_official 414:4ec4c5b614b0 14 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 414:4ec4c5b614b0 15 * may be used to endorse or promote products derived from this software
mbed_official 414:4ec4c5b614b0 16 * without specific prior written permission.
mbed_official 414:4ec4c5b614b0 17 *
mbed_official 414:4ec4c5b614b0 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 414:4ec4c5b614b0 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 414:4ec4c5b614b0 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 414:4ec4c5b614b0 21 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 414:4ec4c5b614b0 22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 414:4ec4c5b614b0 23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 414:4ec4c5b614b0 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 414:4ec4c5b614b0 25 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 414:4ec4c5b614b0 26 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 414:4ec4c5b614b0 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 414:4ec4c5b614b0 28 *******************************************************************************
mbed_official 414:4ec4c5b614b0 29 */
mbed_official 414:4ec4c5b614b0 30
mbed_official 414:4ec4c5b614b0 31 #include "PeripheralPins.h"
mbed_official 414:4ec4c5b614b0 32
mbed_official 414:4ec4c5b614b0 33 // =====
mbed_official 414:4ec4c5b614b0 34 // Note: Commented lines are alternative possibilities which are not used per default.
mbed_official 414:4ec4c5b614b0 35 // If you change them, you will have also to modify the corresponding xxx_api.c file
mbed_official 414:4ec4c5b614b0 36 // for pwmout, analogin, analogout, ...
mbed_official 414:4ec4c5b614b0 37 // =====
mbed_official 414:4ec4c5b614b0 38
mbed_official 414:4ec4c5b614b0 39 //*** ADC ***
mbed_official 414:4ec4c5b614b0 40
mbed_official 414:4ec4c5b614b0 41 const PinMap PinMap_ADC[] = {
mbed_official 414:4ec4c5b614b0 42 {PA_0, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN0
mbed_official 414:4ec4c5b614b0 43 {PA_1, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN1
mbed_official 414:4ec4c5b614b0 44 {PA_2, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN2
mbed_official 414:4ec4c5b614b0 45 {PA_3, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN3
mbed_official 414:4ec4c5b614b0 46 {PA_4, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN4
mbed_official 414:4ec4c5b614b0 47 {PA_5, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN5
mbed_official 414:4ec4c5b614b0 48 {PA_6, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN6
mbed_official 414:4ec4c5b614b0 49 {PA_7, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN7
mbed_official 414:4ec4c5b614b0 50 {PB_0, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN8
mbed_official 414:4ec4c5b614b0 51 {PB_1, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN9
mbed_official 414:4ec4c5b614b0 52 {PC_0, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN10
mbed_official 414:4ec4c5b614b0 53 {PC_1, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN11
mbed_official 414:4ec4c5b614b0 54 {PC_2, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN12
mbed_official 414:4ec4c5b614b0 55 {PC_3, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN13
mbed_official 414:4ec4c5b614b0 56 {PC_4, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN14
mbed_official 414:4ec4c5b614b0 57 {PC_5, ADC_1, STM_PIN_DATA(GPIO_Mode_AIN, 0)}, // ADC12_IN15
mbed_official 414:4ec4c5b614b0 58 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 59 };
mbed_official 414:4ec4c5b614b0 60
mbed_official 414:4ec4c5b614b0 61 //*** I2C ***
mbed_official 414:4ec4c5b614b0 62
mbed_official 414:4ec4c5b614b0 63 const PinMap PinMap_I2C_SDA[] = {
mbed_official 414:4ec4c5b614b0 64 {PB_7, I2C_1, STM_PIN_DATA(GPIO_Mode_AF_OD, 0)},
mbed_official 414:4ec4c5b614b0 65 {PB_9, I2C_1, STM_PIN_DATA(GPIO_Mode_AF_OD, 2)}, // GPIO_Remap_I2C1
mbed_official 414:4ec4c5b614b0 66 {PB_11, I2C_2, STM_PIN_DATA(GPIO_Mode_AF_OD, 0)},
mbed_official 414:4ec4c5b614b0 67 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 68 };
mbed_official 414:4ec4c5b614b0 69
mbed_official 414:4ec4c5b614b0 70 const PinMap PinMap_I2C_SCL[] = {
mbed_official 414:4ec4c5b614b0 71 {PB_6, I2C_1, STM_PIN_DATA(GPIO_Mode_AF_OD, 0)},
mbed_official 414:4ec4c5b614b0 72 {PB_8, I2C_1, STM_PIN_DATA(GPIO_Mode_AF_OD, 2)}, // GPIO_Remap_I2C1
mbed_official 414:4ec4c5b614b0 73 {PB_10, I2C_2, STM_PIN_DATA(GPIO_Mode_AF_OD, 0)},
mbed_official 414:4ec4c5b614b0 74 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 75 };
mbed_official 414:4ec4c5b614b0 76
mbed_official 414:4ec4c5b614b0 77 //*** PWM ***
mbed_official 414:4ec4c5b614b0 78
mbed_official 414:4ec4c5b614b0 79 // TIM4 cannot be used because already used by the us_ticker
mbed_official 414:4ec4c5b614b0 80 const PinMap PinMap_PWM[] = {
mbed_official 414:4ec4c5b614b0 81 {PA_1, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM2_CH2 - Default
mbed_official 414:4ec4c5b614b0 82 {PA_2, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM2_CH3 - Default (warning: not connected on D1 per default)
mbed_official 414:4ec4c5b614b0 83 {PA_3, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM2_CH4 - Default (warning: not connected on D0 per default)
mbed_official 414:4ec4c5b614b0 84 {PA_6, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH1 - Default
mbed_official 414:4ec4c5b614b0 85 {PA_7, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH2 - Default
mbed_official 414:4ec4c5b614b0 86 // {PA_7, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 6)}, // TIM1_CH1N - GPIO_PartialRemap_TIM1
mbed_official 414:4ec4c5b614b0 87 {PA_8, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM1_CH1 - Default
mbed_official 414:4ec4c5b614b0 88 {PA_9, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM1_CH2 - Default
mbed_official 414:4ec4c5b614b0 89 {PA_10, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM1_CH3 - Default
mbed_official 414:4ec4c5b614b0 90 {PA_11, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM1_CH4 - Default
mbed_official 414:4ec4c5b614b0 91 {PA_15, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 8)}, // TIM2_CH1_ETR - GPIO_FullRemap_TIM2
mbed_official 414:4ec4c5b614b0 92
mbed_official 414:4ec4c5b614b0 93 {PB_0, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH3 - Default
mbed_official 414:4ec4c5b614b0 94 // {PB_0, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 6)}, // TIM1_CH2N - GPIO_PartialRemap_TIM1
mbed_official 414:4ec4c5b614b0 95 {PB_1, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM3_CH4 - Default
mbed_official 414:4ec4c5b614b0 96 // {PB_1, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 6)}, // TIM1_CH3N - GPIO_PartialRemap_TIM1
mbed_official 414:4ec4c5b614b0 97 {PB_3, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 8)}, // TIM2_CH2 - GPIO_FullRemap_TIM2
mbed_official 414:4ec4c5b614b0 98 {PB_4, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 7)}, // TIM3_CH1 - GPIO_PartialRemap_TIM3
mbed_official 414:4ec4c5b614b0 99 {PB_5, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 7)}, // TIM3_CH2 - GPIO_PartialRemap_TIM3
mbed_official 414:4ec4c5b614b0 100 // {PB_6, PWM_4, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM4_CH1 - Default (used by ticker)
mbed_official 414:4ec4c5b614b0 101 // {PB_7, PWM_4, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM4_CH2 - Default (used by ticker)
mbed_official 414:4ec4c5b614b0 102 // {PB_8, PWM_4, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM4_CH3 - Default (used by ticker)
mbed_official 414:4ec4c5b614b0 103 // {PB_9, PWM_4, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM4_CH4 - Default (used by ticker)
mbed_official 414:4ec4c5b614b0 104 {PB_10, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 8)}, // TIM2_CH3 - GPIO_FullRemap_TIM2
mbed_official 414:4ec4c5b614b0 105 {PB_11, PWM_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 8)}, // TIM2_CH4 - GPIO_FullRemap_TIM2
mbed_official 414:4ec4c5b614b0 106 {PB_13, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM1_CH1N - Default
mbed_official 414:4ec4c5b614b0 107 {PB_14, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM1_CH2N - Default
mbed_official 414:4ec4c5b614b0 108 {PB_15, PWM_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)}, // TIM1_CH3N - Default
mbed_official 414:4ec4c5b614b0 109
mbed_official 414:4ec4c5b614b0 110 {PC_6, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 9)}, // TIM3_CH1 - GPIO_FullRemap_TIM3
mbed_official 414:4ec4c5b614b0 111 {PC_7, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 9)}, // TIM3_CH2 - GPIO_FullRemap_TIM3
mbed_official 414:4ec4c5b614b0 112 {PC_8, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 9)}, // TIM3_CH3 - GPIO_FullRemap_TIM3
mbed_official 414:4ec4c5b614b0 113 {PC_9, PWM_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 9)}, // TIM3_CH4 - GPIO_FullRemap_TIM3
mbed_official 414:4ec4c5b614b0 114 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 115 };
mbed_official 414:4ec4c5b614b0 116
mbed_official 414:4ec4c5b614b0 117 //*** SERIAL ***
mbed_official 414:4ec4c5b614b0 118
mbed_official 414:4ec4c5b614b0 119 const PinMap PinMap_UART_TX[] = {
mbed_official 414:4ec4c5b614b0 120 {PA_2, UART_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 121 {PA_9, UART_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 122 {PB_6, UART_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 3)}, // GPIO_Remap_USART1
mbed_official 414:4ec4c5b614b0 123 {PB_10, UART_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 124 {PC_10, UART_3, STM_PIN_DATA(GPIO_Mode_AF_PP, 5)}, // GPIO_PartialRemap_USART3
mbed_official 414:4ec4c5b614b0 125 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 126 };
mbed_official 414:4ec4c5b614b0 127
mbed_official 414:4ec4c5b614b0 128 const PinMap PinMap_UART_RX[] = {
mbed_official 414:4ec4c5b614b0 129 {PA_3, UART_2, STM_PIN_DATA(GPIO_Mode_IN_FLOATING, 0)},
mbed_official 414:4ec4c5b614b0 130 {PA_10, UART_1, STM_PIN_DATA(GPIO_Mode_IN_FLOATING, 0)},
mbed_official 414:4ec4c5b614b0 131 {PB_7, UART_1, STM_PIN_DATA(GPIO_Mode_IN_FLOATING, 3)}, // GPIO_Remap_USART1
mbed_official 414:4ec4c5b614b0 132 {PB_11, UART_3, STM_PIN_DATA(GPIO_Mode_IN_FLOATING, 0)},
mbed_official 414:4ec4c5b614b0 133 {PC_11, UART_3, STM_PIN_DATA(GPIO_Mode_IN_FLOATING, 5)}, // GPIO_PartialRemap_USART3
mbed_official 414:4ec4c5b614b0 134 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 135 };
mbed_official 414:4ec4c5b614b0 136
mbed_official 414:4ec4c5b614b0 137 //*** SPI ***
mbed_official 414:4ec4c5b614b0 138
mbed_official 414:4ec4c5b614b0 139 const PinMap PinMap_SPI_MOSI[] = {
mbed_official 414:4ec4c5b614b0 140 {PA_7, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 141 {PB_5, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 1)}, // GPIO_Remap_SPI1
mbed_official 414:4ec4c5b614b0 142 {PB_15, SPI_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 143 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 144 };
mbed_official 414:4ec4c5b614b0 145
mbed_official 414:4ec4c5b614b0 146 const PinMap PinMap_SPI_MISO[] = {
mbed_official 414:4ec4c5b614b0 147 {PA_6, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 148 {PB_4, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 1)}, // GPIO_Remap_SPI1
mbed_official 414:4ec4c5b614b0 149 {PB_14, SPI_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 150 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 151 };
mbed_official 414:4ec4c5b614b0 152
mbed_official 414:4ec4c5b614b0 153 const PinMap PinMap_SPI_SCLK[] = {
mbed_official 414:4ec4c5b614b0 154 {PA_5, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 155 {PB_3, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 1)}, // GPIO_Remap_SPI1
mbed_official 414:4ec4c5b614b0 156 {PB_13, SPI_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 157 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 158 };
mbed_official 414:4ec4c5b614b0 159
mbed_official 414:4ec4c5b614b0 160 const PinMap PinMap_SPI_SSEL[] = {
mbed_official 414:4ec4c5b614b0 161 {PA_4, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 162 {PA_15, SPI_1, STM_PIN_DATA(GPIO_Mode_AF_PP, 1)}, // GPIO_Remap_SPI1
mbed_official 414:4ec4c5b614b0 163 {PB_12, SPI_2, STM_PIN_DATA(GPIO_Mode_AF_PP, 0)},
mbed_official 414:4ec4c5b614b0 164 {NC, NC, 0}
mbed_official 414:4ec4c5b614b0 165 };