mbed library sources
Dependents: frdm_kl05z_gpio_test
Fork of mbed-src by
Diff: targets/hal/TARGET_STM/TARGET_DISCO_F100RB/PinNames.h
- Revision:
- 126:549ba18ddd81
diff -r 23cc3068a9e4 -r 549ba18ddd81 targets/hal/TARGET_STM/TARGET_DISCO_F100RB/PinNames.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/targets/hal/TARGET_STM/TARGET_DISCO_F100RB/PinNames.h Wed Mar 19 16:00:09 2014 +0000 @@ -0,0 +1,190 @@ +/* mbed Microcontroller Library + ******************************************************************************* + * Copyright (c) 2014, STMicroelectronics + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * 3. Neither the name of STMicroelectronics nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ******************************************************************************* + */ +#ifndef MBED_PINNAMES_H +#define MBED_PINNAMES_H + +#include "cmsis.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// MODE (see GPIOMode_TypeDef structure) +// AFNUM (see AF_mapping constant table) +#define STM_PIN_DATA(MODE, AFNUM) (((MODE) << 8) | (AFNUM)) +#define STM_PIN_MODE(X) ((X) >> 8) +#define STM_PIN_AFNUM(X) ((X) & 0xFF) + +// High nibble = port number (0=A, 1=B, 2=C, 3=D, 4=E, 5=F, 6=G, 7=H) +// Low nibble = pin number +#define STM_PORT(X) (((uint32_t)(X) >> 4) & 0xF) +#define STM_PIN(X) ((uint32_t)(X) & 0xF) + +typedef enum { + PIN_INPUT, + PIN_OUTPUT +} PinDirection; + +typedef enum { + PA_0 = 0x00, + PA_1 = 0x01, + PA_2 = 0x02, + PA_3 = 0x03, + PA_4 = 0x04, + PA_5 = 0x05, + PA_6 = 0x06, + PA_7 = 0x07, + PA_8 = 0x08, + PA_9 = 0x09, + PA_10 = 0x0A, + PA_11 = 0x0B, + PA_12 = 0x0C, + PA_13 = 0x0D, + PA_14 = 0x0E, + PA_15 = 0x0F, + + PB_0 = 0x10, + PB_1 = 0x11, + PB_2 = 0x12, + PB_3 = 0x13, + PB_4 = 0x14, + PB_5 = 0x15, + PB_6 = 0x16, + PB_7 = 0x17, + PB_8 = 0x18, + PB_9 = 0x19, + PB_10 = 0x1A, + PB_11 = 0x1B, + PB_12 = 0x1C, + PB_13 = 0x1D, + PB_14 = 0x1E, + PB_15 = 0x1F, + + PC_0 = 0x20, + PC_1 = 0x21, + PC_2 = 0x22, + PC_3 = 0x23, + PC_4 = 0x24, + PC_5 = 0x25, + PC_6 = 0x26, + PC_7 = 0x27, + PC_8 = 0x28, + PC_9 = 0x29, + PC_10 = 0x2A, + PC_11 = 0x2B, + PC_12 = 0x2C, + PC_13 = 0x2D, + PC_14 = 0x2E, + PC_15 = 0x2F, + + PD_0 = 0x30, + PD_1 = 0x31, + PD_2 = 0x32, + + // Arduino connector namings + PA0 = PA_0, + PA1 = PA_1, + PA2 = PA_2, + PA3 = PA_3, + PA4 = PA_4, + PA5 = PA_5, + PA6 = PA_6, + PA7 = PA_7, + PA8 = PA_8, + PA9 = PA_9, + PA10 = PA_10, + PA11 = PA_11, + PA12 = PA_12, + PA13 = PA_13, + PA14 = PA_14, + PA15 = PA_15, + + PC4 = PC_4, + PC5 = PC_5, + PC6 = PC_6, + PC7 = PC_7, + PC8 = PC_8, + PC9 = PC_9, + PC10 = PC_10, + PC11 = PC_13, + PC12 = PC_12, + + PD2 = PD_2, + + PB1 = PB_1, + PB2 = PB_2, + PB3 = PB_3, + PB4 = PB_4, + PB5 = PB_5, + PB6 = PB_6, + PB7 = PB_7, + PB8 = PB_8, + PB9 = PB_9, + PB10 = PB_10, + PB11 = PB_11, + PB12 = PB_12, + PB13 = PB_13, + PB14 = PB_14, + PB15 = PB_15, + + + // Generic signals namings + LED1 = PC_9, + LED2 = PC_8, + LED3 = PC_9, + LED4 = PC_8, + USER_BUTTON = PA_0, + USBTX = PA_2, + USBRX = PA_3, + I2C_SCL = PB_6, + I2C_SDA = PB_7, + SPI_MOSI = PB_15, + SPI_MISO = PB_14, + SPI_SCK = PB_13, + SPI_CS = PB_12, + PWM_OUT = PB_8, + + // Not connected + NC = (int)0xFFFFFFFF +} PinName; + +typedef enum { + PullNone = 0, + PullUp = 1, + PullDown = 2, + OpenDrain = 3, + PullDefault = PullNone +} PinMode; + +#ifdef __cplusplus +} +#endif + +#endif