STM32F4: standard pin names

pull/14480/head
jeromecoutant 2021-03-23 10:38:20 +01:00
parent 25e85f9fcf
commit 2323d227fe
19 changed files with 2770 additions and 3189 deletions

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F401R(D-E)Tx.xml
*/
/* MBED TARGET LIST: NUCLEO_F401RE */
@ -42,24 +29,19 @@ extern "C" {
typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_1 = 0x01,
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_6 = 0x06,
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -68,31 +50,29 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_15 = 0x1F,
PC_0 = 0x20,
PC_1 = 0x21,
PC_2 = 0x22,
@ -107,76 +87,56 @@ typedef enum {
PC_11 = 0x2B,
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E, // Connected to RCC_OSC32_IN
PC_15 = 0x2F, // Connected to RCC_OSC32_OUT
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_2 = 0x32,
PH_0 = 0x70,
PH_1 = 0x71,
PH_0 = 0x70, // Connected to RCC_OSC_IN
PH_1 = 0x71, // Connected to RCC_OSC_OUT
// ADC internal channels
/**** ADC internal channels ****/
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
// Arduino connector namings
A0 = PA_0,
A1 = PA_1,
A2 = PA_4,
A3 = PB_0,
A4 = PC_1,
A5 = PC_0,
D0 = PA_3,
D1 = PA_2,
D2 = PA_10,
D3 = PB_3,
D4 = PB_5,
D5 = PB_4,
D6 = PB_10,
D7 = PA_8,
D8 = PA_9,
D9 = PC_7,
D10 = PB_6,
D11 = PA_7,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_0,
ARDUINO_UNO_A1 = PA_1,
ARDUINO_UNO_A2 = PA_4,
ARDUINO_UNO_A3 = PB_0,
ARDUINO_UNO_A4 = PC_1,
ARDUINO_UNO_A5 = PC_0,
ARDUINO_UNO_D0 = PA_3,
ARDUINO_UNO_D1 = PA_2,
ARDUINO_UNO_D2 = PA_10,
ARDUINO_UNO_D3 = PB_3,
ARDUINO_UNO_D4 = PB_5,
ARDUINO_UNO_D5 = PB_4,
ARDUINO_UNO_D6 = PB_10,
ARDUINO_UNO_D7 = PA_8,
ARDUINO_UNO_D8 = PA_9,
ARDUINO_UNO_D9 = PC_7,
ARDUINO_UNO_D10 = PB_6,
ARDUINO_UNO_D11 = PA_7,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PA_2,
CONSOLE_TX = PA_2,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PA_3,
CONSOLE_RX = PA_3,
#endif
// Generic signals namings
LED1 = PA_5,
LED2 = PA_5,
LED3 = PA_5,
LED4 = PA_5,
LED_RED = LED1,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = PB_8,
I2C_SDA = PB_9,
SPI_MOSI = PA_7,
SPI_MISO = PA_6,
SPI_SCK = PA_5,
SPI_CS = PB_6,
PWM_OUT = PB_3,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -202,6 +162,10 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PA_5 // LD2 [Green Led]
#define BUTTON1 PC_13 // B1 [Blue PushButton]
#ifdef __cplusplus
}
#endif

View File

@ -201,57 +201,45 @@ typedef enum {
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
// Arduino connector namings
A0 = PA_0,
A1 = PA_3,
A2 = PA_4,
A3 = PA_5,
A4 = PA_6,
A5 = PB_0,
A6 = PB_1,
A7 = PC_0,
D0 = PD_3,
D1 = PD_6,
D2 = PD_11,
D3 = PD_12,
D4 = PD_13,
D5 = PA_8,
D6 = PB_6,
D7 = PB_7,
D8 = PB_15,
D9 = PB_14,
D10 = PA_15,
D11 = PB_5,
D12 = PB_4,
D13 = PB_3,
D14 = PB_9,
D15 = PB_8,
#ifdef TARGET_FF_ARDUINO_UNO
ARDUINO_UNO_A0 = PA_0,
ARDUINO_UNO_A1 = PA_3,
ARDUINO_UNO_A2 = PA_4,
ARDUINO_UNO_A3 = PA_5,
ARDUINO_UNO_A4 = PA_6,
ARDUINO_UNO_A5 = PB_0,
ARDUINO_UNO_A6 = PB_1,
ARDUINO_UNO_A7 = PC_0,
ARDUINO_UNO_D0 = PD_3,
ARDUINO_UNO_D1 = PD_6,
ARDUINO_UNO_D2 = PD_11,
ARDUINO_UNO_D3 = PD_12,
ARDUINO_UNO_D4 = PD_13,
ARDUINO_UNO_D5 = PA_8,
ARDUINO_UNO_D6 = PB_6,
ARDUINO_UNO_D7 = PB_7,
ARDUINO_UNO_D8 = PB_15,
ARDUINO_UNO_D9 = PB_14,
ARDUINO_UNO_D10 = PA_15,
ARDUINO_UNO_D11 = PB_5,
ARDUINO_UNO_D12 = PB_4,
ARDUINO_UNO_D13 = PB_3,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PC_6,
CONSOLE_TX = PC_6,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PC_7,
CONSOLE_RX = PC_7,
#endif
// Generic signals namings
LED1 = PB_3,
LED2 = PD_8,
LED3 = PD_9,
LED4 = PD_10,
CONSOLE_TX = STDIO_UART_TX, /* USART6 */
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = PB_8, /* I2C1 */
I2C_SDA = PB_9,
SPI_MOSI = PC_3,
SPI_MISO = PC_2,
SPI_SCK = PB_10,
SPI_CS = PE_3,
SD_MOSI = PC_3,
SD_MISO = PC_2,
SD_SCK = PB_10,
@ -261,6 +249,13 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_3
#define LED2 PD_8
#define LED3 PD_9
#define LED4 PD_10
#ifdef __cplusplus
}
#endif

View File

@ -105,44 +105,38 @@ typedef enum {
ADC_VBAT = 0xF2,
// Arduino connector namings
A0 = PC_2,
A1 = PC_0,
A2 = PC_4,
A3 = PB_0,
A4 = PC_1,
A5 = PC_9,
D0 = PA_3,
D1 = PA_2,
D2 = PB_15,
D3 = PA_0,
D4 = PA_7,
D5 = PA_9,
D6 = PA_1,
D7 = PA_8,
D8 = PB_1,
D9 = PB_13,
D10 = PC_8,
D11 = PB_5,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
ARDUINO_UNO_A0 = PC_2,
ARDUINO_UNO_A1 = PC_0,
ARDUINO_UNO_A2 = PC_4,
ARDUINO_UNO_A3 = PB_0,
ARDUINO_UNO_A4 = PC_1,
ARDUINO_UNO_A5 = PC_9,
// Generic signals namings
LED1 = D3,
LED2 = D3,
LED3 = D3,
LED4 = D3,
SERIAL_TX = D1,
SERIAL_RX = D0,
SERIAL_RTS = D3,
SERIAL_CTS = D6,
SERIAL_DCD = D4,
SERIAL_DSR = D5,
SERIAL_DTR = D7,
SERIAL_RI = D8,
CONSOLE_TX = PB_6,
CONSOLE_RX = PB_7,
ARDUINO_UNO_D0 = PA_3,
ARDUINO_UNO_D1 = PA_2,
ARDUINO_UNO_D2 = PB_15,
ARDUINO_UNO_D3 = PA_0,
ARDUINO_UNO_D4 = PA_7,
ARDUINO_UNO_D5 = PA_9,
ARDUINO_UNO_D6 = PA_1,
ARDUINO_UNO_D7 = PA_8,
ARDUINO_UNO_D8 = PB_1,
ARDUINO_UNO_D9 = PB_13,
ARDUINO_UNO_D10 = PC_8,
ARDUINO_UNO_D11 = PB_5,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
SERIAL_TX = ARDUINO_UNO_D1,
SERIAL_RX = ARDUINO_UNO_D0,
SERIAL_RTS = ARDUINO_UNO_D3,
SERIAL_CTS = ARDUINO_UNO_D6,
SERIAL_DCD = ARDUINO_UNO_D4,
SERIAL_DSR = ARDUINO_UNO_D5,
SERIAL_DTR = ARDUINO_UNO_D7,
SERIAL_RI = ARDUINO_UNO_D8,
RADIO_TX = PC_7,
RADIO_RX = PC_6,
RADIO_RTS = PB_10,
@ -161,25 +155,23 @@ typedef enum {
MDMDTR = RADIO_DTR, // Data Terminal Ready
MDMRI = RADIO_RI, // Ring Indicator
WAKEUP = D3,
WAKEUP = ARDUINO_UNO_D3,
// I2C1 and I2C3 are available on Arduino pins
I2C1_SCL = D15,
I2C1_SDA = D14,
I2C3_SCL = D7,
I2C3_SDA = A5,
I2C1_SCL = ARDUINO_UNO_D15,
I2C1_SDA = ARDUINO_UNO_D14,
I2C3_SCL = ARDUINO_UNO_D7,
I2C3_SDA = ARDUINO_UNO_A5,
// legacy definitions
I2C_SCL = I2C1_SCL,
I2C_SDA = I2C1_SDA,
// SPI1 and SPI2 are available on Arduino pins
SPI1_MOSI = D11,
SPI1_MISO = D12,
SPI1_SCK = D13,
SPI2_MOSI = D2,
SPI2_MISO = A0,
SPI2_SCK = D9,
SPI1_MOSI = ARDUINO_UNO_D11,
SPI1_MISO = ARDUINO_UNO_D12,
SPI1_SCK = ARDUINO_UNO_D13,
SPI2_MOSI = ARDUINO_UNO_D2,
SPI2_MISO = ARDUINO_UNO_A0,
SPI2_SCK = ARDUINO_UNO_D9,
// SPI3 connects to flash part
SPI3_MOSI = PC_12,
@ -187,28 +179,29 @@ typedef enum {
SPI3_SCK = PC_10,
// legacy definitions
SPI_MOSI = SPI3_MOSI,
SPI_MISO = SPI3_MISO,
SPI_SCK = SPI3_SCK,
SPI_CS1 = PA_4,
SPI_CS2 = PB_14
} PinName;
// Standardized LED and button names
#define LED1 ARDUINO_UNO_D3
#define ACTIVE_HIGH_POLARITY 1
#define ACTIVE_LOW_POLARITY 0
#define MDM_PIN_POLARITY ACTIVE_HIGH_POLARITY
#if defined(MBED_CONF_TARGET_STDIO_UART_TX)
#define STDIO_UART_TX MBED_CONF_TARGET_STDIO_UART_TX
#define CONSOLE_TX MBED_CONF_TARGET_STDIO_UART_TX
#else
#define STDIO_UART_TX PB_6
#define CONSOLE_TX PB_6
#endif
#if defined(MBED_CONF_TARGET_STDIO_UART_RX)
#define STDIO_UART_RX MBED_CONF_TARGET_STDIO_UART_RX
#define CONSOLE_RX MBED_CONF_TARGET_STDIO_UART_RX
#else
#define STDIO_UART_RX PB_7
#define CONSOLE_RX PB_7
#endif

View File

@ -132,11 +132,6 @@ typedef enum {
XBEE_ASSOCIATE = PC_1,
XBEE_USB_RES = PA_12,
// needed for mbed to build tests
LED1 = PA_0,
LED2 = PA_0,
LED3 = PA_0,
LED4 = PA_0,
// XBEE_DOUT/DIN, RS232 port on UDK board
SERIAL_TX = PA_2,
@ -242,6 +237,8 @@ typedef enum {
#define STDIO_UART_RX PA_10
#endif
// Standardized LED and button names
#define LED1 PA_0 // needed for mbed to build tests
#ifdef __cplusplus
}

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F411R(C-E)Tx.xml
*/
/* MBED TARGET LIST: NUCLEO_F411RE */
@ -45,25 +32,19 @@ extern "C" {
typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_2 = 0x02,
PA_3 = 0x03,
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_6 = 0x06,
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -72,39 +53,31 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT1 = PB_4 | ALT1,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT1 = PB_5 | ALT1,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT1 = PB_8 | ALT1,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT1 = PB_9 | ALT1,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_12 = 0x1C,
PB_12_ALT0 = PB_12 | ALT0,
PB_12_ALT0 = PB_12 | ALT0, // same pin used for alternate HW
PB_13 = 0x1D,
PB_13_ALT0 = PB_13 | ALT0,
PB_13_ALT0 = PB_13 | ALT0, // same pin used for alternate HW
PB_14 = 0x1E,
PB_15 = 0x1F,
PC_0 = 0x20,
PC_1 = 0x21,
PC_2 = 0x22,
@ -121,74 +94,55 @@ typedef enum {
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_2 = 0x32,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PA_0,
A1 = PA_1,
A2 = PA_4,
A3 = PB_0,
A4 = PC_1,
A5 = PC_0,
D0 = PA_3,
D1 = PA_2,
D2 = PA_10,
D3 = PB_3,
D4 = PB_5,
D5 = PB_4,
D6 = PB_10,
D7 = PA_8,
D8 = PA_9,
D9 = PC_7,
D10 = PB_6,
D11 = PA_7,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_0,
ARDUINO_UNO_A1 = PA_1,
ARDUINO_UNO_A2 = PA_4,
ARDUINO_UNO_A3 = PB_0,
ARDUINO_UNO_A4 = PC_1,
ARDUINO_UNO_A5 = PC_0,
ARDUINO_UNO_D0 = PA_3,
ARDUINO_UNO_D1 = PA_2,
ARDUINO_UNO_D2 = PA_10,
ARDUINO_UNO_D3 = PB_3,
ARDUINO_UNO_D4 = PB_5,
ARDUINO_UNO_D5 = PB_4,
ARDUINO_UNO_D6 = PB_10,
ARDUINO_UNO_D7 = PA_8,
ARDUINO_UNO_D8 = PA_9,
ARDUINO_UNO_D9 = PC_7,
ARDUINO_UNO_D10 = PB_6,
ARDUINO_UNO_D11 = PA_7,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PA_2,
CONSOLE_TX = PA_2,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PA_3,
CONSOLE_RX = PA_3,
#endif
// Generic signals namings
LED1 = PA_5,
LED2 = PA_5,
LED3 = PA_5,
LED4 = PA_5,
LED_RED = LED1,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = PB_8,
I2C_SDA = PB_9,
SPI_MOSI = PA_7,
SPI_MISO = PA_6,
SPI_SCK = PA_5,
SPI_CS = PB_6,
PWM_OUT = PB_3,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -214,6 +168,10 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PA_5 // LD2 [Green Led]
#define BUTTON1 PC_13 // B1 [Blue PushButton]
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F412Z(E-G)Tx.xml
*/
/* MBED TARGET LIST: NUCLEO_F412ZG */
@ -44,28 +31,25 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_1 = 0x01,
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -74,46 +58,39 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT1 = PB_4 | ALT1,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT1 = PB_5 | ALT1,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT1 = PB_8 | ALT1,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT1 = PB_9 | ALT1,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_10_ALT0 = PB_10 | ALT0,
PB_10_ALT0 = PB_10 | ALT0, // same pin used for alternate HW
PB_11 = 0x1B,
PB_11_ALT0 = PB_11 | ALT0,
PB_12 = 0x1C,
PB_12_ALT0 = PB_12 | ALT0,
PB_12_ALT0 = PB_12 | ALT0, // same pin used for alternate HW
PB_13 = 0x1D,
PB_13_ALT0 = PB_13 | ALT0,
PB_13_ALT0 = PB_13 | ALT0, // same pin used for alternate HW
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_1 = 0x21,
PC_2 = 0x22,
@ -121,20 +98,19 @@ typedef enum {
PC_4 = 0x24,
PC_5 = 0x25,
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
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,
@ -151,32 +127,30 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
PE_2_ALT0 = PE_2 | ALT0,
PE_2_ALT0 = PE_2 | ALT0, // same pin used for alternate HW
PE_3 = 0x43,
PE_4 = 0x44,
PE_4_ALT0 = PE_4 | ALT0,
PE_4_ALT0 = PE_4 | ALT0, // same pin used for alternate HW
PE_5 = 0x45,
PE_5_ALT0 = PE_5 | ALT0,
PE_5_ALT0 = PE_5 | ALT0, // same pin used for alternate HW
PE_6 = 0x46,
PE_6_ALT0 = PE_6 | ALT0,
PE_6_ALT0 = PE_6 | ALT0, // same pin used for alternate HW
PE_7 = 0x47,
PE_8 = 0x48,
PE_9 = 0x49,
PE_10 = 0x4A,
PE_11 = 0x4B,
PE_11_ALT0 = PE_11 | ALT0,
PE_11_ALT0 = PE_11 | ALT0, // same pin used for alternate HW
PE_12 = 0x4C,
PE_12_ALT0 = PE_12 | ALT0,
PE_12_ALT0 = PE_12 | ALT0, // same pin used for alternate HW
PE_13 = 0x4D,
PE_13_ALT0 = PE_13 | ALT0,
PE_13_ALT0 = PE_13 | ALT0, // same pin used for alternate HW
PE_14 = 0x4E,
PE_14_ALT0 = PE_14 | ALT0,
PE_14_ALT0 = PE_14 | ALT0, // same pin used for alternate HW
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -193,7 +167,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -210,41 +183,47 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PA_3,
A1 = PC_0,
A2 = PC_3,
A3 = PC_1,
A4 = PC_4,
A5 = PC_5,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_3,
ARDUINO_UNO_A1 = PC_0,
ARDUINO_UNO_A2 = PC_3,
ARDUINO_UNO_A3 = PC_1,
ARDUINO_UNO_A4 = PC_4,
ARDUINO_UNO_A5 = PC_5,
ARDUINO_UNO_D0 = PG_9,
ARDUINO_UNO_D1 = PG_14,
ARDUINO_UNO_D2 = PF_15,
ARDUINO_UNO_D3 = PE_13,
ARDUINO_UNO_D4 = PF_14,
ARDUINO_UNO_D5 = PE_11,
ARDUINO_UNO_D6 = PE_9,
ARDUINO_UNO_D7 = PF_13,
ARDUINO_UNO_D8 = PF_12,
ARDUINO_UNO_D9 = PD_15,
ARDUINO_UNO_D10 = PD_14,
ARDUINO_UNO_D11 = PA_7,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// Arduino extension pins
A6 = PB_1,
A7 = PA_2,
A8 = PF_4,
D0 = PG_9,
D1 = PG_14,
D2 = PF_15,
D3 = PE_13,
D4 = PF_14,
D5 = PE_11,
D6 = PE_9,
D7 = PF_13,
D8 = PF_12,
D9 = PD_15,
D10 = PD_14,
D11 = PA_7,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
D16 = PC_6,
D17 = PB_15,
D18 = PB_13,
@ -303,37 +282,16 @@ typedef enum {
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PD_8,
CONSOLE_TX = PD_8,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PD_9,
CONSOLE_RX = PD_9,
#endif
// Generic signals namings
LED1 = PB_0,
LED2 = PB_7,
LED3 = PB_14,
LED4 = LED1,
LED_RED = LED1,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = D15,
I2C_SDA = D14,
SPI_MOSI = D11,
SPI_MISO = D12,
SPI_SCK = D13,
SPI_CS = D10,
PWM_OUT = D9,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -371,6 +329,12 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_0 // LD1 [Green]
#define LED2 PB_7 // LD2 [Blue]
#define LED3 PB_14 // LD3 [Red]
#define BUTTON1 PC_13 // USER_Btn [B1]
#ifdef __cplusplus
}
#endif

View File

@ -201,17 +201,9 @@ typedef enum {
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
// Generic signals namings
LED1 = PB_2,
LED2 = PB_10,
LED3 = NC,
LED_RED = LED1,
LED_BLUE = LED2,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
LED_RED = PB_2, // LED1
LED_BLUE = PB_10, // LED2
SERIAL_TX = P_8,
SERIAL_RX = P_12,
@ -226,23 +218,21 @@ typedef enum {
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#elif MBED_CONF_TARGET_USB_TX
STDIO_UART_TX = MBED_CONF_TARGET_USB_TX,
CONSOLE_TX = MBED_CONF_TARGET_USB_TX,
#else
STDIO_UART_TX = PB_6,
CONSOLE_TX = PB_6,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#elif MBED_CONF_TARGET_USB_RX
STDIO_UART_TX = MBED_CONF_TARGET_USB_RX,
CONSOLE_RX = MBED_CONF_TARGET_USB_RX,
#else
STDIO_UART_RX = PB_7,
CONSOLE_RX = PB_7,
#endif
//DAPLink
CONSOLE_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
SWDIO = P_26,
SWCLK = P_25,
NTRST = P_13,
@ -256,12 +246,12 @@ typedef enum {
PB7 = P_29,
PC6 = SERIAL_TX,
PC7 = SERIAL_RX,
PB9 = I2C_SDA,
PB8 = I2C_SCL,
PB15 = SPI_MOSI,
PB14 = SPI_MISO,
PB13 = SPI_SCK,
PC13 = SPI_CS,
PB9 = PB_9,
PB8 = PB_8,
PB15 = PB_15,
PB14 = PB_14,
PB13 = PB_13,
PC13 = PC_13,
PC0 = P_14,
PA4 = P_38,
PA5 = P_34,
@ -276,11 +266,17 @@ typedef enum {
PA15 = P_9, //A0 for LCD
PA10 = P_33,
PB12 = P_5,
PB10 = LED2,
PB2 = LED1,
PB10 = PB_10,
PB2 = PB_2,
} PinName;
// Standardized LED and button names
#define LED1 PB_2
#define LED2 PB_10
#define BUTTON1 PC_13
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F413Z(G-H)Tx.xml
*/
/* MBED TARGET LIST: DISCO_F413ZH */
@ -44,72 +31,69 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_1 = 0x01,
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
PA_10_ALT0 = PA_10 | ALT0,
PA_10_ALT0 = PA_10 | ALT0, // same pin used for alternate HW
PA_11 = 0x0B,
PA_12 = 0x0C,
PA_12_ALT0 = PA_12 | ALT0,
PA_12_ALT0 = PA_12 | ALT0, // same pin used for alternate HW
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_6_ALT0 = PB_6 | ALT0,
PB_6_ALT0 = PB_6 | ALT0, // same pin used for alternate HW
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_10_ALT0 = PB_10 | ALT0,
PB_10_ALT0 = PB_10 | ALT0, // same pin used for alternate HW
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_12_ALT0 = PB_12 | ALT0,
PB_12_ALT0 = PB_12 | ALT0, // same pin used for alternate HW
PB_13 = 0x1D,
PB_13_ALT0 = PB_13 | ALT0,
PB_13_ALT0 = PB_13 | ALT0, // same pin used for alternate HW
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_1 = 0x21,
PC_2 = 0x22,
@ -117,21 +101,20 @@ typedef enum {
PC_4 = 0x24,
PC_5 = 0x25,
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -148,32 +131,30 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
PE_2_ALT0 = PE_2 | ALT0,
PE_2_ALT0 = PE_2 | ALT0, // same pin used for alternate HW
PE_3 = 0x43,
PE_4 = 0x44,
PE_4_ALT0 = PE_4 | ALT0,
PE_4_ALT0 = PE_4 | ALT0, // same pin used for alternate HW
PE_5 = 0x45,
PE_5_ALT0 = PE_5 | ALT0,
PE_5_ALT0 = PE_5 | ALT0, // same pin used for alternate HW
PE_6 = 0x46,
PE_6_ALT0 = PE_6 | ALT0,
PE_6_ALT0 = PE_6 | ALT0, // same pin used for alternate HW
PE_7 = 0x47,
PE_8 = 0x48,
PE_9 = 0x49,
PE_10 = 0x4A,
PE_11 = 0x4B,
PE_11_ALT0 = PE_11 | ALT0,
PE_11_ALT0 = PE_11 | ALT0, // same pin used for alternate HW
PE_12 = 0x4C,
PE_12_ALT0 = PE_12 | ALT0,
PE_12_ALT0 = PE_12 | ALT0, // same pin used for alternate HW
PE_13 = 0x4D,
PE_13_ALT0 = PE_13 | ALT0,
PE_13_ALT0 = PE_13 | ALT0, // same pin used for alternate HW
PE_14 = 0x4E,
PE_14_ALT0 = PE_14 | ALT0,
PE_14_ALT0 = PE_14 | ALT0, // same pin used for alternate HW
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -190,7 +171,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -207,71 +187,54 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PC_0,
A1 = PA_1,
A2 = PA_2,
A3 = PA_5,
A4 = PB_1,
A5 = PC_4,
D0 = PF_6,
D1 = PF_7,
D2 = PG_13,
D3 = PF_10,
D4 = PB_6,
D5 = PE_6,
D6 = PB_0,
D7 = PC_13,
D8 = PA_4,
D9 = PB_8,
D10 = PA_15,
D11 = PB_5,
D12 = PB_4,
D13 = PB_12,
D14 = PB_11,
D15 = PB_10,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PC_0,
ARDUINO_UNO_A1 = PA_1,
ARDUINO_UNO_A2 = PA_2,
ARDUINO_UNO_A3 = PA_5,
ARDUINO_UNO_A4 = PB_1,
ARDUINO_UNO_A5 = PC_4,
ARDUINO_UNO_D0 = PF_6,
ARDUINO_UNO_D1 = PF_7,
ARDUINO_UNO_D2 = PG_13,
ARDUINO_UNO_D3 = PF_10,
ARDUINO_UNO_D4 = PB_6,
ARDUINO_UNO_D5 = PE_6,
ARDUINO_UNO_D6 = PB_0,
ARDUINO_UNO_D7 = PC_13,
ARDUINO_UNO_D8 = PA_4,
ARDUINO_UNO_D9 = PB_8,
ARDUINO_UNO_D10 = PA_15,
ARDUINO_UNO_D11 = PB_5,
ARDUINO_UNO_D12 = PB_4,
ARDUINO_UNO_D13 = PB_12,
ARDUINO_UNO_D14 = PB_11,
ARDUINO_UNO_D15 = PB_10,
#endif
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PG_14,
CONSOLE_TX = PG_14,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PG_9,
CONSOLE_RX = PG_9,
#endif
// Generic signals namings
LED1 = PC_5, // Green = LD3 on the board
LED2 = PE_3, // Red = LD4 on the board
LED3 = PB_12, // Green = LD5 on the board, connected to Arduino D13
LED4 = LED1,
LED_RED = LED2,
USER_BUTTON = PA_0,
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = D15,
I2C_SDA = D14,
SPI_MOSI = D11,
SPI_MISO = D12,
SPI_SCK = D13,
SPI_CS = D10,
PWM_OUT = D9,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -326,6 +289,13 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PE_3 // LED1_RED
#define LED2 PC_5 // LED2_GREEN
#define LED3 PE_4 // MEMS_LED
#define LED4 PE_5 // LCD_BL_CTRL [STLD40DPUR_EN]
#define BUTTON1 PA_0 // B_USER
#ifdef __cplusplus
}
#endif

View File

@ -105,57 +105,54 @@ typedef enum {
ADC_VBAT = 0xF2,
// Arduino connector namings
A0 = PC_2,
A1 = PC_0,
A2 = PC_4,
A3 = PB_0,
A4 = PC_1,
A5 = PC_9,
D0 = PA_3,
D1 = PA_2,
D2 = PB_15,
D3 = PA_0,
D4 = PA_7,
D5 = PA_9,
D6 = PA_1,
D7 = PA_8,
D8 = PB_1,
D9 = PB_13,
D10 = PC_8,
D11 = PB_5,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
ARDUINO_UNO_A0 = PC_2,
ARDUINO_UNO_A1 = PC_0,
ARDUINO_UNO_A2 = PC_4,
ARDUINO_UNO_A3 = PB_0,
ARDUINO_UNO_A4 = PC_1,
ARDUINO_UNO_A5 = PC_9,
ARDUINO_UNO_D0 = PA_3,
ARDUINO_UNO_D1 = PA_2,
ARDUINO_UNO_D2 = PB_15,
ARDUINO_UNO_D3 = PA_0,
ARDUINO_UNO_D4 = PA_7,
ARDUINO_UNO_D5 = PA_9,
ARDUINO_UNO_D6 = PA_1,
ARDUINO_UNO_D7 = PA_8,
ARDUINO_UNO_D8 = PB_1,
ARDUINO_UNO_D9 = PB_13,
ARDUINO_UNO_D10 = PC_8,
ARDUINO_UNO_D11 = PB_5,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
// Generic signals namings
LED1 = D3,
LED2 = D3,
LED3 = D3,
LED4 = D3,
LED_RED = LED1,
BUTTON1 = NC,
SERIAL_TX = D1,
SERIAL_RX = D0,
SERIAL_RTS = D3,
SERIAL_CTS = D6,
SERIAL_DCD = D4,
SERIAL_DSR = D5,
SERIAL_DTR = D7,
SERIAL_RI = D8,
CONSOLE_TX = PB_6,
CONSOLE_RX = PB_7,
LED_RED = PA_0,
SERIAL_TX = ARDUINO_UNO_D1,
SERIAL_RX = ARDUINO_UNO_D0,
SERIAL_RTS = ARDUINO_UNO_D3,
SERIAL_CTS = ARDUINO_UNO_D6,
SERIAL_DCD = ARDUINO_UNO_D4,
SERIAL_DSR = ARDUINO_UNO_D5,
SERIAL_DTR = ARDUINO_UNO_D7,
SERIAL_RI = ARDUINO_UNO_D8,
// STDIO for console print
#if defined(MBED_CONF_TARGET_STDIO_UART_TX)
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = CONSOLE_TX,
CONSOLE_TX = PB_6,
#endif
#if defined(MBED_CONF_TARGET_STDIO_UART_RX)
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = CONSOLE_RX,
CONSOLE_RX = PB_7,
#endif
RADIO_TX = PC_6,
RADIO_RX = PC_7,
RADIO_RTS = PB_10,
@ -174,25 +171,23 @@ typedef enum {
MDMDTR = RADIO_DTR, // Data Terminal Ready
MDMRI = RADIO_RI, // Ring Indicator
WAKEUP = D3,
WAKEUP = ARDUINO_UNO_D3,
// I2C1 and I2C3 are available on Arduino pins
I2C1_SCL = D15,
I2C1_SDA = D14,
I2C3_SCL = D7,
I2C3_SDA = A5,
I2C1_SCL = ARDUINO_UNO_D15,
I2C1_SDA = ARDUINO_UNO_D14,
I2C3_SCL = ARDUINO_UNO_D7,
I2C3_SDA = ARDUINO_UNO_A5,
// legacy definitions
I2C_SCL = I2C1_SCL,
I2C_SDA = I2C1_SDA,
// SPI1 and SPI2 are available on Arduino pins
SPI1_MOSI = D11,
SPI1_MISO = D12,
SPI1_SCK = D13,
SPI2_MOSI = D2,
SPI2_MISO = A0,
SPI2_SCK = D9,
SPI1_MOSI = ARDUINO_UNO_D11,
SPI1_MISO = ARDUINO_UNO_D12,
SPI1_SCK = ARDUINO_UNO_D13,
SPI2_MOSI = ARDUINO_UNO_D2,
SPI2_MISO = ARDUINO_UNO_A0,
SPI2_SCK = ARDUINO_UNO_D9,
// SPI3 connects to flash part
SPI3_MOSI = PC_12,
@ -200,9 +195,6 @@ typedef enum {
SPI3_SCK = PC_10,
// legacy definitions
SPI_MOSI = SPI3_MOSI,
SPI_MISO = SPI3_MISO,
SPI_SCK = SPI3_SCK,
SPI_CS1 = PA_4,
SPI_CS2 = PB_14,
@ -215,6 +207,10 @@ typedef enum {
} PinName;
// Standardized LED and button names
#define LED1 ARDUINO_UNO_D3
#define LED_RED LED1
#define ACTIVE_HIGH_POLARITY 1
#define ACTIVE_LOW_POLARITY 0

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F413Z(G-H)Tx.xml
*/
/* MBED TARGET LIST: NUCLEO_F413ZH */
@ -44,74 +31,69 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_1 = 0x01,
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
PA_10_ALT0 = PA_10 | ALT0,
PA_10_ALT0 = PA_10 | ALT0, // same pin used for alternate HW
PA_11 = 0x0B,
PA_12 = 0x0C,
PA_12_ALT0 = PA_12 | ALT0,
PA_12_ALT0 = PA_12 | ALT0, // same pin used for alternate HW
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PA_4 | ALT0,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_6_ALT0 = PB_6 | ALT0,
PB_6_ALT0 = PB_6 | ALT0, // same pin used for alternate HW
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_10_ALT0 = PB_10 | ALT0,
PB_10_ALT0 = PB_10 | ALT0, // same pin used for alternate HW
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_12_ALT0 = PB_12 | ALT0,
PB_12_ALT0 = PB_12 | ALT0, // same pin used for alternate HW
PB_13 = 0x1D,
PB_13_ALT0 = PB_13 | ALT0,
PB_13_ALT0 = PB_13 | ALT0, // same pin used for alternate HW
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_1 = 0x21,
PC_2 = 0x22,
@ -119,21 +101,20 @@ typedef enum {
PC_4 = 0x24,
PC_5 = 0x25,
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -150,32 +131,30 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
PE_2_ALT0 = PE_2 | ALT0,
PE_2_ALT0 = PE_2 | ALT0, // same pin used for alternate HW
PE_3 = 0x43,
PE_4 = 0x44,
PE_4_ALT0 = PE_4 | ALT0,
PE_4_ALT0 = PE_4 | ALT0, // same pin used for alternate HW
PE_5 = 0x45,
PE_5_ALT0 = PE_5 | ALT0,
PE_5_ALT0 = PE_5 | ALT0, // same pin used for alternate HW
PE_6 = 0x46,
PE_6_ALT0 = PE_6 | ALT0,
PE_6_ALT0 = PE_6 | ALT0, // same pin used for alternate HW
PE_7 = 0x47,
PE_8 = 0x48,
PE_9 = 0x49,
PE_10 = 0x4A,
PE_11 = 0x4B,
PE_11_ALT0 = PE_11 | ALT0,
PE_11_ALT0 = PE_11 | ALT0, // same pin used for alternate HW
PE_12 = 0x4C,
PE_12_ALT0 = PE_12 | ALT0,
PE_12_ALT0 = PE_12 | ALT0, // same pin used for alternate HW
PE_13 = 0x4D,
PE_13_ALT0 = PE_13 | ALT0,
PE_13_ALT0 = PE_13 | ALT0, // same pin used for alternate HW
PE_14 = 0x4E,
PE_14_ALT0 = PE_14 | ALT0,
PE_14_ALT0 = PE_14 | ALT0, // same pin used for alternate HW
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -192,7 +171,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -209,41 +187,47 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PA_3,
A1 = PC_0,
A2 = PC_3,
A3 = PC_1,
A4 = PC_4,
A5 = PC_5,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_3,
ARDUINO_UNO_A1 = PC_0,
ARDUINO_UNO_A2 = PC_3,
ARDUINO_UNO_A3 = PC_1,
ARDUINO_UNO_A4 = PC_4,
ARDUINO_UNO_A5 = PC_5,
ARDUINO_UNO_D0 = PG_9,
ARDUINO_UNO_D1 = PG_14,
ARDUINO_UNO_D2 = PF_15,
ARDUINO_UNO_D3 = PE_13,
ARDUINO_UNO_D4 = PF_14,
ARDUINO_UNO_D5 = PE_11,
ARDUINO_UNO_D6 = PE_9,
ARDUINO_UNO_D7 = PF_13,
ARDUINO_UNO_D8 = PF_12,
ARDUINO_UNO_D9 = PD_15,
ARDUINO_UNO_D10 = PD_14,
ARDUINO_UNO_D11 = PA_7,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// Arduino extension pins
A6 = PB_1,
A7 = PA_2,
A8 = PF_4,
D0 = PG_9,
D1 = PG_14,
D2 = PF_15,
D3 = PE_13,
D4 = PF_14,
D5 = PE_11,
D6 = PE_9,
D7 = PF_13,
D8 = PF_12,
D9 = PD_15,
D10 = PD_14,
D11 = PA_7,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
D16 = PC_6,
D17 = PB_15,
D18 = PB_13,
@ -302,37 +286,16 @@ typedef enum {
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PD_8,
CONSOLE_TX = PD_8,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PD_9,
CONSOLE_RX = PD_9,
#endif
// Generic signals namings
LED1 = PB_0, // Green
LED2 = PB_7, // Blue
LED3 = PB_14, // Red
LED4 = LED1,
LED_RED = LED3,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = D15,
I2C_SDA = D14,
SPI_MOSI = D11,
SPI_MISO = D12,
SPI_SCK = D13,
SPI_CS = D10,
PWM_OUT = D9,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -370,6 +333,12 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_0 // LD1 [Green]
#define LED2 PB_7 // LD2 [Blue]
#define LED3 PB_14 // LD3 [Red]
#define BUTTON1 PC_13 // USER_Btn [B1]
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F429ZITx.xml
*/
/* MBED TARGET LIST: DISCO_F429ZI */
@ -44,33 +31,31 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_0_ALT0 = PA_0 | ALT0,
PA_0_ALT1 = PA_0 | ALT1,
PA_0_ALT0 = PA_0 | ALT0, // same pin used for alternate HW
PA_0_ALT1 = PA_0 | ALT1, // same pin used for alternate HW
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_1_ALT1 = PA_1 | ALT1,
PA_1_ALT0 = PA_1 | ALT0, // same pin used for alternate HW
PA_1_ALT1 = PA_1 | ALT1, // same pin used for alternate HW
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_2_ALT1 = PA_2 | ALT1, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_3_ALT1 = PA_3 | ALT1, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT1 = PA_5 | ALT1,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -79,71 +64,68 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_0_ALT0 = PC_0 | ALT0,
PC_0_ALT1 = PC_0 | ALT1,
PC_0_ALT0 = PC_0 | ALT0, // same pin used for alternate HW
PC_0_ALT1 = PC_0 | ALT1, // same pin used for alternate HW
PC_1 = 0x21,
PC_1_ALT0 = PC_1 | ALT0,
PC_1_ALT1 = PC_1 | ALT1,
PC_1_ALT0 = PC_1 | ALT0, // same pin used for alternate HW
PC_1_ALT1 = PC_1 | ALT1, // same pin used for alternate HW
PC_2 = 0x22,
PC_2_ALT0 = PC_2 | ALT0,
PC_2_ALT1 = PC_2 | ALT1,
PC_2_ALT0 = PC_2 | ALT0, // same pin used for alternate HW
PC_2_ALT1 = PC_2 | ALT1, // same pin used for alternate HW
PC_3 = 0x23,
PC_3_ALT0 = PC_3 | ALT0,
PC_3_ALT1 = PC_3 | ALT1,
PC_3_ALT0 = PC_3 | ALT0, // same pin used for alternate HW
PC_3_ALT1 = PC_3 | ALT1, // same pin used for alternate HW
PC_4 = 0x24,
PC_4_ALT0 = PC_4 | ALT0,
PC_4_ALT0 = PC_4 | ALT0, // same pin used for alternate HW
PC_5 = 0x25,
PC_5_ALT0 = PC_5 | ALT0,
PC_5_ALT0 = PC_5 | ALT0, // same pin used for alternate HW
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_10_ALT0 = PC_10 | ALT0,
PC_10_ALT0 = PC_10 | ALT0, // same pin used for alternate HW
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -160,7 +142,6 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
@ -177,7 +158,6 @@ typedef enum {
PE_13 = 0x4D,
PE_14 = 0x4E,
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -194,7 +174,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -211,45 +190,28 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PA_9,
CONSOLE_TX = PA_9,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PA_10,
CONSOLE_RX = PA_10,
#endif
// Generic signals namings
LED1 = PG_13, // Corresponds to LD3 on MB1075B
LED2 = PG_14, // Corresponds to LD4 on MB1075B
LED3 = PG_13,
LED4 = PG_14,
LED_RED = LED2,
USER_BUTTON = PA_0,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
SPI_MOSI = PA_7,
SPI_MISO = PA_6,
SPI_SCK = PA_5,
SPI_CS = PB_6,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -326,6 +288,11 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PG_13 // LD3 [Green Led]
#define LED2 PG_14 // LD4 [Red Led]
#define BUTTON1 PA_0 // B1 [Blue PushButton]
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F429ZITx.xml
*/
/* MBED TARGET LIST: NUCLEO_F429ZI */
@ -47,33 +34,31 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_0_ALT0 = PA_0 | ALT0,
PA_0_ALT1 = PA_0 | ALT1,
PA_0_ALT0 = PA_0 | ALT0, // same pin used for alternate HW
PA_0_ALT1 = PA_0 | ALT1, // same pin used for alternate HW
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_1_ALT1 = PA_1 | ALT1,
PA_1_ALT0 = PA_1 | ALT0, // same pin used for alternate HW
PA_1_ALT1 = PA_1 | ALT1, // same pin used for alternate HW
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_2_ALT1 = PA_2 | ALT1, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_3_ALT1 = PA_3 | ALT1, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT1 = PA_5 | ALT1,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -82,71 +67,68 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_0_ALT0 = PC_0 | ALT0,
PC_0_ALT1 = PC_0 | ALT1,
PC_0_ALT0 = PC_0 | ALT0, // same pin used for alternate HW
PC_0_ALT1 = PC_0 | ALT1, // same pin used for alternate HW
PC_1 = 0x21,
PC_1_ALT0 = PC_1 | ALT0,
PC_1_ALT1 = PC_1 | ALT1,
PC_1_ALT0 = PC_1 | ALT0, // same pin used for alternate HW
PC_1_ALT1 = PC_1 | ALT1, // same pin used for alternate HW
PC_2 = 0x22,
PC_2_ALT0 = PC_2 | ALT0,
PC_2_ALT1 = PC_2 | ALT1,
PC_2_ALT0 = PC_2 | ALT0, // same pin used for alternate HW
PC_2_ALT1 = PC_2 | ALT1, // same pin used for alternate HW
PC_3 = 0x23,
PC_3_ALT0 = PC_3 | ALT0,
PC_3_ALT1 = PC_3 | ALT1,
PC_3_ALT0 = PC_3 | ALT0, // same pin used for alternate HW
PC_3_ALT1 = PC_3 | ALT1, // same pin used for alternate HW
PC_4 = 0x24,
PC_4_ALT0 = PC_4 | ALT0,
PC_4_ALT0 = PC_4 | ALT0, // same pin used for alternate HW
PC_5 = 0x25,
PC_5_ALT0 = PC_5 | ALT0,
PC_5_ALT0 = PC_5 | ALT0, // same pin used for alternate HW
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_10_ALT0 = PC_10 | ALT0,
PC_10_ALT0 = PC_10 | ALT0, // same pin used for alternate HW
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -163,7 +145,6 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
@ -180,7 +161,6 @@ typedef enum {
PE_13 = 0x4D,
PE_14 = 0x4E,
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -197,7 +177,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -214,41 +193,47 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PA_3,
A1 = PC_0,
A2 = PC_3,
A3 = PF_3,
A4 = PF_5,
A5 = PF_10,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_3,
ARDUINO_UNO_A1 = PC_0,
ARDUINO_UNO_A2 = PC_3,
ARDUINO_UNO_A3 = PF_3,
ARDUINO_UNO_A4 = PF_5,
ARDUINO_UNO_A5 = PF_10,
ARDUINO_UNO_D0 = PG_9,
ARDUINO_UNO_D1 = PG_14,
ARDUINO_UNO_D2 = PF_15,
ARDUINO_UNO_D3 = PE_13,
ARDUINO_UNO_D4 = PF_14,
ARDUINO_UNO_D5 = PE_11,
ARDUINO_UNO_D6 = PE_9,
ARDUINO_UNO_D7 = PF_13,
ARDUINO_UNO_D8 = PF_12,
ARDUINO_UNO_D9 = PD_15,
ARDUINO_UNO_D10 = PD_14,
ARDUINO_UNO_D11 = STM32_D11_SPI_ETHERNET_PIN,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// Arduino extension pins
A6 = PB_1,
A7 = PC_2,
A8 = PF_4,
D0 = PG_9,
D1 = PG_14,
D2 = PF_15,
D3 = PE_13,
D4 = PF_14,
D5 = PE_11,
D6 = PE_9,
D7 = PF_13,
D8 = PF_12,
D9 = PD_15,
D10 = PD_14,
D11 = STM32_D11_SPI_ETHERNET_PIN, /* config in targets.json file */
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
D16 = PC_6,
D17 = PB_15,
D18 = PB_13,
@ -308,37 +293,16 @@ typedef enum {
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PD_8,
CONSOLE_TX = PD_8,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PD_9,
CONSOLE_RX = PD_9,
#endif
// Generic signals namings
LED1 = PB_0, // LD1 = GREEN
LED2 = PB_7, // Blue
LED3 = PB_14, // Red
LED4 = PB_0,
LED_RED = LED3,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX, // Virtual Com Port
SERIAL_RX = STDIO_UART_RX, // Virtual Com Port
CONSOLE_TX = STDIO_UART_TX, // Virtual Com Port
CONSOLE_RX = STDIO_UART_RX, // Virtual Com Port
I2C_SCL = D15,
I2C_SDA = D14,
SPI_MOSI = D11,
SPI_MISO = D12,
SPI_SCK = D13,
SPI_CS = D10,
PWM_OUT = D9,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -415,6 +379,16 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_0 // LD1 [Green]
#define LED2 PB_7 // LD2 [Blue]
#define LED3 PB_14 // LD3 [Red]
#define BUTTON1 PC_13 // USER_Btn [B1]
// legacy name
#define LED_RED LED3
#define USER_BUTTON BUTTON1
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F439Z(G-I)Tx.xml
*/
/* MBED TARGET LIST: NUCLEO_F439ZI */
@ -44,33 +31,31 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_0_ALT0 = PA_0 | ALT0,
PA_0_ALT1 = PA_0 | ALT1,
PA_0_ALT0 = PA_0 | ALT0, // same pin used for alternate HW
PA_0_ALT1 = PA_0 | ALT1, // same pin used for alternate HW
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_1_ALT1 = PA_1 | ALT1,
PA_1_ALT0 = PA_1 | ALT0, // same pin used for alternate HW
PA_1_ALT1 = PA_1 | ALT1, // same pin used for alternate HW
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_2_ALT1 = PA_2 | ALT1, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_3_ALT1 = PA_3 | ALT1, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT1 = PA_5 | ALT1,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -79,71 +64,68 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_0_ALT0 = PC_0 | ALT0,
PC_0_ALT1 = PC_0 | ALT1,
PC_0_ALT0 = PC_0 | ALT0, // same pin used for alternate HW
PC_0_ALT1 = PC_0 | ALT1, // same pin used for alternate HW
PC_1 = 0x21,
PC_1_ALT0 = PC_1 | ALT0,
PC_1_ALT1 = PC_1 | ALT1,
PC_1_ALT0 = PC_1 | ALT0, // same pin used for alternate HW
PC_1_ALT1 = PC_1 | ALT1, // same pin used for alternate HW
PC_2 = 0x22,
PC_2_ALT0 = PC_2 | ALT0,
PC_2_ALT1 = PC_2 | ALT1,
PC_2_ALT0 = PC_2 | ALT0, // same pin used for alternate HW
PC_2_ALT1 = PC_2 | ALT1, // same pin used for alternate HW
PC_3 = 0x23,
PC_3_ALT0 = PC_3 | ALT0,
PC_3_ALT1 = PC_3 | ALT1,
PC_3_ALT0 = PC_3 | ALT0, // same pin used for alternate HW
PC_3_ALT1 = PC_3 | ALT1, // same pin used for alternate HW
PC_4 = 0x24,
PC_4_ALT0 = PC_4 | ALT0,
PC_4_ALT0 = PC_4 | ALT0, // same pin used for alternate HW
PC_5 = 0x25,
PC_5_ALT0 = PC_5 | ALT0,
PC_5_ALT0 = PC_5 | ALT0, // same pin used for alternate HW
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_10_ALT0 = PC_10 | ALT0,
PC_10_ALT0 = PC_10 | ALT0, // same pin used for alternate HW
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -160,7 +142,6 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
@ -177,7 +158,6 @@ typedef enum {
PE_13 = 0x4D,
PE_14 = 0x4E,
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -194,7 +174,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -211,41 +190,47 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PA_3,
A1 = PC_0,
A2 = PC_3,
A3 = PF_3,
A4 = PF_5,
A5 = PF_10,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_3,
ARDUINO_UNO_A1 = PC_0,
ARDUINO_UNO_A2 = PC_3,
ARDUINO_UNO_A3 = PF_3,
ARDUINO_UNO_A4 = PF_5,
ARDUINO_UNO_A5 = PF_10,
ARDUINO_UNO_D0 = PG_9,
ARDUINO_UNO_D1 = PG_14,
ARDUINO_UNO_D2 = PF_15,
ARDUINO_UNO_D3 = PE_13,
ARDUINO_UNO_D4 = PF_14,
ARDUINO_UNO_D5 = PE_11,
ARDUINO_UNO_D6 = PE_9,
ARDUINO_UNO_D7 = PF_13,
ARDUINO_UNO_D8 = PF_12,
ARDUINO_UNO_D9 = PD_15,
ARDUINO_UNO_D10 = PD_14,
ARDUINO_UNO_D11 = STM32_D11_SPI_ETHERNET_PIN,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// Arduino extension pins
A6 = PB_1,
A7 = PC_2,
A8 = PF_4,
D0 = PG_9,
D1 = PG_14,
D2 = PF_15,
D3 = PE_13,
D4 = PF_14,
D5 = PE_11,
D6 = PE_9,
D7 = PF_13,
D8 = PF_12,
D9 = PD_15,
D10 = PD_14,
D11 = STM32_D11_SPI_ETHERNET_PIN, /* config in targets.json file */
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
D16 = PC_6,
D17 = PB_15,
D18 = PB_13,
@ -305,37 +290,16 @@ typedef enum {
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PD_8,
CONSOLE_TX = PD_8,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PD_9,
CONSOLE_RX = PD_9,
#endif
// Generic signals namings
LED1 = PB_0, // LD1 = GREEN
LED2 = PB_7, // Blue
LED3 = PB_14, // Red
LED4 = PB_0,
LED_RED = LED3,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX, // Virtual Com Port
SERIAL_RX = STDIO_UART_RX, // Virtual Com Port
CONSOLE_TX = STDIO_UART_TX, // Virtual Com Port
CONSOLE_RX = STDIO_UART_RX, // Virtual Com Port
I2C_SCL = D15,
I2C_SDA = D14,
SPI_MOSI = D11,
SPI_MISO = D12,
SPI_SCK = D13,
SPI_CS = D10,
PWM_OUT = D9,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -412,6 +376,12 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_0 // LD1 [Green]
#define LED2 PB_7 // LD2 [Blue]
#define LED3 PB_14 // LD3 [Red]
#define BUTTON1 PC_13 // USER_Btn [B1]
#ifdef __cplusplus
}
#endif

View File

@ -170,7 +170,6 @@ typedef enum {
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
// Grove connector namings
D38 = PC_6,
D39 = PC_7,
D20 = PB_4,
@ -181,19 +180,17 @@ typedef enum {
A5 = PA_5,
RXD = PB_7,
TXD = PB_6,
I2C_SCL = PB_8,
I2C_SDA = PB_9,
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PD_8,
CONSOLE_TX = PD_8,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PD_9,
CONSOLE_RX = PD_9,
#endif
// Quectel UG96 cellular modem
@ -212,20 +209,7 @@ typedef enum {
PWRKEY = PB_5,
RESET_MODULE = PD_5,
// Generic signals namings
LED1 = PB_11,
LED2 = LED1,
LED3 = LED1,
LED4 = LED1,
LED_RED = LED1,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = PC_13,
SERIAL_TX = STDIO_UART_TX, // Virtual Com Port
SERIAL_RX = STDIO_UART_RX, // Virtual Com Port
CONSOLE_TX = STDIO_UART_TX, // Virtual Com Port
CONSOLE_RX = STDIO_UART_RX, // Virtual Com Port
SPI_MOSI = PC_12,
SPI_MISO = PC_11,
SPI_SCK = PC_10,
@ -236,6 +220,12 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_11
#define LED_RED LED1
#define BUTTON1 PC_13
#ifdef __cplusplus
}
#endif

View File

@ -170,7 +170,6 @@ typedef enum {
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
// Grove connector namings
D38 = PC_6,
D39 = PC_7,
D20 = PB_4,
@ -181,19 +180,17 @@ typedef enum {
A5 = PA_5,
RXD = PB_7,
TXD = PB_6,
I2C_SCL = PB_8,
I2C_SDA = PB_9,
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PD_8,
CONSOLE_TX = PD_8,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PD_9,
CONSOLE_RX = PD_9,
#endif
// Quectel UG96 cellular modem
@ -212,30 +209,21 @@ typedef enum {
PWRKEY = PB_5,
RESET_MODULE = PD_5,
// Generic signals namings
LED1 = PB_11,
LED2 = LED1,
LED3 = LED1,
LED4 = LED1,
LED_RED = LED1,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = PC_13,
SERIAL_TX = STDIO_UART_TX, // Virtual Com Port
SERIAL_RX = STDIO_UART_RX, // Virtual Com Port
CONSOLE_TX = STDIO_UART_TX, // Virtual Com Port
CONSOLE_RX = STDIO_UART_RX, // Virtual Com Port
SPI_MOSI = PC_12,
SPI_MISO = PC_11,
SPI_SCK = PC_10,
SPI_CS = PD_0,
PWM_OUT = D39,
// Not connected
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_11
#define LED_RED LED1
#define BUTTON1 PC_13
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F446R(C-E)Tx.xml
*/
/* MBED TARGET LIST: NUCLEO_F446RE */
@ -44,28 +31,27 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_0_ALT0 = PA_0 | ALT0,
PA_0_ALT1 = PA_0 | ALT1,
PA_0_ALT0 = PA_0 | ALT0, // same pin used for alternate HW
PA_0_ALT1 = PA_0 | ALT1, // same pin used for alternate HW
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_1_ALT1 = PA_1 | ALT1,
PA_1_ALT0 = PA_1 | ALT0, // same pin used for alternate HW
PA_1_ALT1 = PA_1 | ALT1, // same pin used for alternate HW
PA_2 = 0x02,
PA_3 = 0x03,
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -74,141 +60,118 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT1 = PB_4 | ALT1,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT1 = PB_5 | ALT1,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT1 = PB_8 | ALT1,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_8_ALT1 = PB_8 | ALT1, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT1 = PB_9 | ALT1,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_9_ALT1 = PB_9 | ALT1, // same pin used for alternate HW
PB_10 = 0x1A,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_0_ALT0 = PC_0 | ALT0,
PC_0_ALT1 = PC_0 | ALT1,
PC_0_ALT0 = PC_0 | ALT0, // same pin used for alternate HW
PC_0_ALT1 = PC_0 | ALT1, // same pin used for alternate HW
PC_1 = 0x21,
PC_1_ALT0 = PC_1 | ALT0,
PC_1_ALT1 = PC_1 | ALT1,
PC_1_ALT0 = PC_1 | ALT0, // same pin used for alternate HW
PC_1_ALT1 = PC_1 | ALT1, // same pin used for alternate HW
PC_2 = 0x22,
PC_2_ALT0 = PC_2 | ALT0,
PC_2_ALT1 = PC_2 | ALT1,
PC_2_ALT0 = PC_2 | ALT0, // same pin used for alternate HW
PC_2_ALT1 = PC_2 | ALT1, // same pin used for alternate HW
PC_3 = 0x23,
PC_3_ALT0 = PC_3 | ALT0,
PC_3_ALT1 = PC_3 | ALT1,
PC_3_ALT0 = PC_3 | ALT0, // same pin used for alternate HW
PC_3_ALT1 = PC_3 | ALT1, // same pin used for alternate HW
PC_4 = 0x24,
PC_4_ALT0 = PC_4 | ALT0,
PC_4_ALT0 = PC_4 | ALT0, // same pin used for alternate HW
PC_5 = 0x25,
PC_5_ALT0 = PC_5 | ALT0,
PC_5_ALT0 = PC_5 | ALT0, // same pin used for alternate HW
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_10_ALT0 = PC_10 | ALT0,
PC_10_ALT0 = PC_10 | ALT0, // same pin used for alternate HW
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_2 = 0x32,
PH_0 = 0x70,
PH_1 = 0x71,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PA_0,
A1 = PA_1,
A2 = PA_4,
A3 = PB_0,
A4 = PC_1,
A5 = PC_0,
D0 = PA_3,
D1 = PA_2,
D2 = PA_10,
D3 = PB_3,
D4 = PB_5,
D5 = PB_4,
D6 = PB_10,
D7 = PA_8,
D8 = PA_9,
D9 = PC_7,
D10 = PB_6,
D11 = PA_7,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_0,
ARDUINO_UNO_A1 = PA_1,
ARDUINO_UNO_A2 = PA_4,
ARDUINO_UNO_A3 = PB_0,
ARDUINO_UNO_A4 = PC_1,
ARDUINO_UNO_A5 = PC_0,
ARDUINO_UNO_D0 = PA_3,
ARDUINO_UNO_D1 = PA_2,
ARDUINO_UNO_D2 = PA_10,
ARDUINO_UNO_D3 = PB_3,
ARDUINO_UNO_D4 = PB_5,
ARDUINO_UNO_D5 = PB_4,
ARDUINO_UNO_D6 = PB_10,
ARDUINO_UNO_D7 = PA_8,
ARDUINO_UNO_D8 = PA_9,
ARDUINO_UNO_D9 = PC_7,
ARDUINO_UNO_D10 = PB_6,
ARDUINO_UNO_D11 = PA_7,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PA_2,
CONSOLE_TX = PA_2,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PA_3,
CONSOLE_RX = PA_3,
#endif
// Generic signals namings
LED1 = PA_5,
LED2 = PA_5,
LED3 = PA_5,
LED4 = PA_5,
LED_RED = LED1,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = PB_8,
I2C_SDA = PB_9,
SPI_MOSI = PA_7,
SPI_MISO = PA_6,
SPI_SCK = PA_5,
SPI_CS = PB_6,
PWM_OUT = PB_3,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -255,6 +218,10 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PA_5 // LD2 [Green Led]
#define BUTTON1 PC_13 // B1 [Blue PushButton]
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F446Z(C-E)Tx.xml
*/
/* MBED TARGET LIST: NUCLEO_F446ZE */
@ -44,32 +31,31 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_0_ALT0 = PA_0 | ALT0,
PA_0_ALT1 = PA_0 | ALT1,
PA_0_ALT0 = PA_0 | ALT0, // same pin used for alternate HW
PA_0_ALT1 = PA_0 | ALT1, // same pin used for alternate HW
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_1_ALT1 = PA_1 | ALT1,
PA_1_ALT0 = PA_1 | ALT0, // same pin used for alternate HW
PA_1_ALT1 = PA_1 | ALT1, // same pin used for alternate HW
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_2_ALT1 = PA_2 | ALT1, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_3_ALT1 = PA_3 | ALT1, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -78,73 +64,70 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT1 = PB_4 | ALT1,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT1 = PB_5 | ALT1,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT1 = PB_8 | ALT1,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_8_ALT1 = PB_8 | ALT1, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT1 = PB_9 | ALT1,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_9_ALT1 = PB_9 | ALT1, // same pin used for alternate HW
PB_10 = 0x1A,
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_0_ALT0 = PC_0 | ALT0,
PC_0_ALT1 = PC_0 | ALT1,
PC_0_ALT0 = PC_0 | ALT0, // same pin used for alternate HW
PC_0_ALT1 = PC_0 | ALT1, // same pin used for alternate HW
PC_1 = 0x21,
PC_1_ALT0 = PC_1 | ALT0,
PC_1_ALT1 = PC_1 | ALT1,
PC_1_ALT0 = PC_1 | ALT0, // same pin used for alternate HW
PC_1_ALT1 = PC_1 | ALT1, // same pin used for alternate HW
PC_2 = 0x22,
PC_2_ALT0 = PC_2 | ALT0,
PC_2_ALT1 = PC_2 | ALT1,
PC_2_ALT0 = PC_2 | ALT0, // same pin used for alternate HW
PC_2_ALT1 = PC_2 | ALT1, // same pin used for alternate HW
PC_3 = 0x23,
PC_3_ALT0 = PC_3 | ALT0,
PC_3_ALT1 = PC_3 | ALT1,
PC_3_ALT0 = PC_3 | ALT0, // same pin used for alternate HW
PC_3_ALT1 = PC_3 | ALT1, // same pin used for alternate HW
PC_4 = 0x24,
PC_4_ALT0 = PC_4 | ALT0,
PC_4_ALT0 = PC_4 | ALT0, // same pin used for alternate HW
PC_5 = 0x25,
PC_5_ALT0 = PC_5 | ALT0,
PC_5_ALT0 = PC_5 | ALT0, // same pin used for alternate HW
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_10_ALT0 = PC_10 | ALT0, // same pin used for alternate HW
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -161,7 +144,6 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
@ -178,7 +160,6 @@ typedef enum {
PE_13 = 0x4D,
PE_14 = 0x4E,
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -195,7 +176,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -212,42 +192,47 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
PH_2 = 0x72,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PA_3,
A1 = PC_0,
A2 = PC_3,
A3 = PF_3,
A4 = PF_5,
A5 = PF_10,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PA_3,
ARDUINO_UNO_A1 = PC_0,
ARDUINO_UNO_A2 = PC_3,
ARDUINO_UNO_A3 = PF_3,
ARDUINO_UNO_A4 = PF_5,
ARDUINO_UNO_A5 = PF_10,
ARDUINO_UNO_D0 = PG_9,
ARDUINO_UNO_D1 = PG_14,
ARDUINO_UNO_D2 = PF_15,
ARDUINO_UNO_D3 = PE_13,
ARDUINO_UNO_D4 = PF_14,
ARDUINO_UNO_D5 = PE_11,
ARDUINO_UNO_D6 = PE_9,
ARDUINO_UNO_D7 = PF_13,
ARDUINO_UNO_D8 = PF_12,
ARDUINO_UNO_D9 = PD_15,
ARDUINO_UNO_D10 = PD_14,
ARDUINO_UNO_D11 = PA_7,
ARDUINO_UNO_D12 = PA_6,
ARDUINO_UNO_D13 = PA_5,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// Arduino extension pins
A6 = PB_1,
A7 = PC_2,
A8 = PF_4,
D0 = PG_9,
D1 = PG_14,
D2 = PF_15,
D3 = PE_13,
D4 = PF_14,
D5 = PE_11,
D6 = PE_9,
D7 = PF_13,
D8 = PF_12,
D9 = PD_15,
D10 = PD_14,
D11 = PA_7,
D12 = PA_6,
D13 = PA_5,
D14 = PB_9,
D15 = PB_8,
D16 = PC_6,
D17 = PB_15,
D18 = PB_13,
@ -306,37 +291,16 @@ typedef enum {
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PD_8,
CONSOLE_TX = PD_8,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PD_9,
CONSOLE_RX = PD_9,
#endif
// Generic signals namings
LED1 = PB_0,
LED2 = PB_7,
LED3 = PB_14,
LED4 = LED1,
LED_RED = LED3,
USER_BUTTON = PC_13,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX, // Virtual Com Port
SERIAL_RX = STDIO_UART_RX, // Virtual Com Port
CONSOLE_TX = STDIO_UART_TX, // Virtual Com Port
CONSOLE_RX = STDIO_UART_RX, // Virtual Com Port
I2C_SCL = D15,
I2C_SDA = D14,
SPI_MOSI = D11,
SPI_MISO = D12,
SPI_SCK = D13,
SPI_CS = D10,
PWM_OUT = D9,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -391,6 +355,12 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PB_0 // LD1 [Green]
#define LED2 PB_7 // LD2 [Blue]
#define LED3 PB_14 // LD3 [Red]
#define BUTTON1 PC_13 // USER_Btn [B1]
#ifdef __cplusplus
}
#endif

View File

@ -1,31 +1,18 @@
/* mbed Microcontroller Library
*******************************************************************************
* Copyright (c) 2018, STMicroelectronics
* SPDX-License-Identifier: BSD-3-Clause
******************************************************************************
*
* Copyright (c) 2016-2021 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:
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
* 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.
*******************************************************************************
* Automatically generated from STM32CubeMX/db/mcu/STM32F469NIHx.xml
*/
/* MBED TARGET LIST: DISCO_F469NI */
@ -44,32 +31,31 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_0_ALT0 = PA_0 | ALT0,
PA_0_ALT1 = PA_0 | ALT1,
PA_0_ALT0 = PA_0 | ALT0, // same pin used for alternate HW
PA_0_ALT1 = PA_0 | ALT1, // same pin used for alternate HW
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_1_ALT1 = PA_1 | ALT1,
PA_1_ALT0 = PA_1 | ALT0, // same pin used for alternate HW
PA_1_ALT1 = PA_1 | ALT1, // same pin used for alternate HW
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_2_ALT1 = PA_2 | ALT1, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_3_ALT1 = PA_3 | ALT1, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -78,71 +64,68 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT1 = PB_4 | ALT1,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT1 = PB_5 | ALT1,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_0_ALT0 = PC_0 | ALT0,
PC_0_ALT1 = PC_0 | ALT1,
PC_0_ALT0 = PC_0 | ALT0, // same pin used for alternate HW
PC_0_ALT1 = PC_0 | ALT1, // same pin used for alternate HW
PC_1 = 0x21,
PC_1_ALT0 = PC_1 | ALT0,
PC_1_ALT1 = PC_1 | ALT1,
PC_1_ALT0 = PC_1 | ALT0, // same pin used for alternate HW
PC_1_ALT1 = PC_1 | ALT1, // same pin used for alternate HW
PC_2 = 0x22,
PC_2_ALT0 = PC_2 | ALT0,
PC_2_ALT1 = PC_2 | ALT1,
PC_2_ALT0 = PC_2 | ALT0, // same pin used for alternate HW
PC_2_ALT1 = PC_2 | ALT1, // same pin used for alternate HW
PC_3 = 0x23,
PC_3_ALT0 = PC_3 | ALT0,
PC_3_ALT1 = PC_3 | ALT1,
PC_3_ALT0 = PC_3 | ALT0, // same pin used for alternate HW
PC_3_ALT1 = PC_3 | ALT1, // same pin used for alternate HW
PC_4 = 0x24,
PC_4_ALT0 = PC_4 | ALT0,
PC_4_ALT0 = PC_4 | ALT0, // same pin used for alternate HW
PC_5 = 0x25,
PC_5_ALT0 = PC_5 | ALT0,
PC_5_ALT0 = PC_5 | ALT0, // same pin used for alternate HW
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_10_ALT0 = PC_10 | ALT0, // same pin used for alternate HW
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -159,7 +142,6 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
@ -176,7 +158,6 @@ typedef enum {
PE_13 = 0x4D,
PE_14 = 0x4E,
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -193,7 +174,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -210,7 +190,6 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
PH_2 = 0x72,
@ -227,7 +206,6 @@ typedef enum {
PH_13 = 0x7D,
PH_14 = 0x7E,
PH_15 = 0x7F,
PI_0 = 0x80,
PI_1 = 0x81,
PI_2 = 0x82,
@ -244,7 +222,6 @@ typedef enum {
PI_13 = 0x8D,
PI_14 = 0x8E,
PI_15 = 0x8F,
PJ_0 = 0x90,
PJ_1 = 0x91,
PJ_2 = 0x92,
@ -255,76 +232,57 @@ typedef enum {
PJ_13 = 0x9D,
PJ_14 = 0x9E,
PJ_15 = 0x9F,
PK_3 = 0xA3,
PK_4 = 0xA4,
PK_5 = 0xA5,
PK_6 = 0xA6,
PK_7 = 0xA7,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
// Arduino connector namings
A0 = PB_1,
A1 = PC_2,
A2 = PC_3,
A3 = PC_4,
A4 = PC_5,
A5 = PA_4,
D0 = PG_9,
D1 = PG_14,
D2 = PG_13,
D3 = PA_1,
D4 = PG_12,
D5 = PA_2,
D6 = PA_6,
D7 = PG_11,
D8 = PG_10,
D9 = PA_7,
D10 = PH_6,
D11 = PB_15,
D12 = PB_14,
D13 = PD_3,
D14 = PB_9,
D15 = PB_8,
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino Uno (Rev3) pins
ARDUINO_UNO_A0 = PB_1,
ARDUINO_UNO_A1 = PC_2,
ARDUINO_UNO_A2 = PC_3,
ARDUINO_UNO_A3 = PC_4,
ARDUINO_UNO_A4 = PC_5,
ARDUINO_UNO_A5 = PA_4,
ARDUINO_UNO_D0 = PG_9,
ARDUINO_UNO_D1 = PG_14,
ARDUINO_UNO_D2 = PG_13,
ARDUINO_UNO_D3 = PA_1,
ARDUINO_UNO_D4 = PG_12,
ARDUINO_UNO_D5 = PA_2,
ARDUINO_UNO_D6 = PA_6,
ARDUINO_UNO_D7 = PG_11,
ARDUINO_UNO_D8 = PG_10,
ARDUINO_UNO_D9 = PA_7,
ARDUINO_UNO_D10 = PH_6,
ARDUINO_UNO_D11 = PB_15,
ARDUINO_UNO_D12 = PB_14,
ARDUINO_UNO_D13 = PD_3,
ARDUINO_UNO_D14 = PB_9,
ARDUINO_UNO_D15 = PB_8,
#endif
// STDIO for console print
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = PB_10,
CONSOLE_TX = PB_10,
#endif
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = PB_11,
CONSOLE_RX = PB_11,
#endif
// Generic signals namings
LED1 = PG_6,
LED2 = PD_4,
LED3 = PD_5,
LED4 = PK_3,
LED7 = PD_3,
LED_RED = LED1,
USER_BUTTON = PA_0,
// Standardized button names
BUTTON1 = USER_BUTTON,
SERIAL_TX = STDIO_UART_TX,
SERIAL_RX = STDIO_UART_RX,
CONSOLE_TX = STDIO_UART_TX,
CONSOLE_RX = STDIO_UART_RX,
I2C_SCL = PB_8,
I2C_SDA = PB_9,
SPI_MOSI = PB_15,
SPI_MISO = PB_14,
SPI_SCK = PD_3,
SPI_CS = PH_6,
PWM_OUT = PA_1,
/**** USB FS pins ****/
USB_OTG_FS_DM = PA_11,
USB_OTG_FS_DP = PA_12,
@ -422,6 +380,14 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PG_6 // LED1 [Green]
#define LED2 PD_4 // LED2 [Orange]
#define LED3 PD_5 // LED3 [Red]
#define LED4 PK_3 // LED4 [Blue]
#define LED5 PA_3 // LCD_BL_CTRL [STLD40DPUR_EN]
#define BUTTON1 PA_0
#ifdef __cplusplus
}
#endif

View File

@ -45,32 +45,31 @@ typedef enum {
ALT0 = 0x100,
ALT1 = 0x200,
ALT2 = 0x300,
ALT3 = 0x400
} ALTx;
typedef enum {
PA_0 = 0x00,
PA_0_ALT0 = PA_0 | ALT0,
PA_0_ALT1 = PA_0 | ALT1,
PA_0_ALT0 = PA_0 | ALT0, // same pin used for alternate HW
PA_0_ALT1 = PA_0 | ALT1, // same pin used for alternate HW
PA_1 = 0x01,
PA_1_ALT0 = PA_1 | ALT0,
PA_1_ALT1 = PA_1 | ALT1,
PA_1_ALT0 = PA_1 | ALT0, // same pin used for alternate HW
PA_1_ALT1 = PA_1 | ALT1, // same pin used for alternate HW
PA_2 = 0x02,
PA_2_ALT0 = PA_2 | ALT0,
PA_2_ALT1 = PA_2 | ALT1,
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
PA_2_ALT1 = PA_2 | ALT1, // same pin used for alternate HW
PA_3 = 0x03,
PA_3_ALT0 = PA_3 | ALT0,
PA_3_ALT1 = PA_3 | ALT1,
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
PA_3_ALT1 = PA_3 | ALT1, // same pin used for alternate HW
PA_4 = 0x04,
PA_4_ALT0 = PA_4 | ALT0,
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
PA_5 = 0x05,
PA_5_ALT0 = PA_5 | ALT0,
PA_5_ALT0 = PA_5 | ALT0, // same pin used for alternate HW
PA_6 = 0x06,
PA_6_ALT0 = PA_6 | ALT0,
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
PA_7 = 0x07,
PA_7_ALT0 = PA_7 | ALT0,
PA_7_ALT1 = PA_7 | ALT1,
PA_7_ALT2 = PA_7 | ALT2,
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
PA_8 = 0x08,
PA_9 = 0x09,
PA_10 = 0x0A,
@ -79,71 +78,68 @@ typedef enum {
PA_13 = 0x0D,
PA_14 = 0x0E,
PA_15 = 0x0F,
PA_15_ALT0 = PA_15 | ALT0,
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
PB_0 = 0x10,
PB_0_ALT0 = PB_0 | ALT0,
PB_0_ALT1 = PB_0 | ALT1,
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
PB_0_ALT1 = PB_0 | ALT1, // same pin used for alternate HW
PB_1 = 0x11,
PB_1_ALT0 = PB_1 | ALT0,
PB_1_ALT1 = PB_1 | ALT1,
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
PB_2 = 0x12,
PB_3 = 0x13,
PB_3_ALT0 = PB_3 | ALT0,
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
PB_4 = 0x14,
PB_4_ALT0 = PB_4 | ALT0,
PB_4_ALT1 = PB_4 | ALT1,
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
PB_5 = 0x15,
PB_5_ALT0 = PB_5 | ALT0,
PB_5_ALT1 = PB_5 | ALT1,
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
PB_6 = 0x16,
PB_7 = 0x17,
PB_8 = 0x18,
PB_8_ALT0 = PB_8 | ALT0,
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
PB_9 = 0x19,
PB_9_ALT0 = PB_9 | ALT0,
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
PB_10 = 0x1A,
PB_11 = 0x1B,
PB_12 = 0x1C,
PB_13 = 0x1D,
PB_14 = 0x1E,
PB_14_ALT0 = PB_14 | ALT0,
PB_14_ALT1 = PB_14 | ALT1,
PB_14_ALT0 = PB_14 | ALT0, // same pin used for alternate HW
PB_14_ALT1 = PB_14 | ALT1, // same pin used for alternate HW
PB_15 = 0x1F,
PB_15_ALT0 = PB_15 | ALT0,
PB_15_ALT1 = PB_15 | ALT1,
PB_15_ALT0 = PB_15 | ALT0, // same pin used for alternate HW
PB_15_ALT1 = PB_15 | ALT1, // same pin used for alternate HW
PC_0 = 0x20,
PC_0_ALT0 = PC_0 | ALT0,
PC_0_ALT1 = PC_0 | ALT1,
PC_0_ALT0 = PC_0 | ALT0, // same pin used for alternate HW
PC_0_ALT1 = PC_0 | ALT1, // same pin used for alternate HW
PC_1 = 0x21,
PC_1_ALT0 = PC_1 | ALT0,
PC_1_ALT1 = PC_1 | ALT1,
PC_1_ALT0 = PC_1 | ALT0, // same pin used for alternate HW
PC_1_ALT1 = PC_1 | ALT1, // same pin used for alternate HW
PC_2 = 0x22,
PC_2_ALT0 = PC_2 | ALT0,
PC_2_ALT1 = PC_2 | ALT1,
PC_2_ALT0 = PC_2 | ALT0, // same pin used for alternate HW
PC_2_ALT1 = PC_2 | ALT1, // same pin used for alternate HW
PC_3 = 0x23,
PC_3_ALT0 = PC_3 | ALT0,
PC_3_ALT1 = PC_3 | ALT1,
PC_3_ALT0 = PC_3 | ALT0, // same pin used for alternate HW
PC_3_ALT1 = PC_3 | ALT1, // same pin used for alternate HW
PC_4 = 0x24,
PC_4_ALT0 = PC_4 | ALT0,
PC_4_ALT0 = PC_4 | ALT0, // same pin used for alternate HW
PC_5 = 0x25,
PC_5_ALT0 = PC_5 | ALT0,
PC_5_ALT0 = PC_5 | ALT0, // same pin used for alternate HW
PC_6 = 0x26,
PC_6_ALT0 = PC_6 | ALT0,
PC_6_ALT0 = PC_6 | ALT0, // same pin used for alternate HW
PC_7 = 0x27,
PC_7_ALT0 = PC_7 | ALT0,
PC_7_ALT0 = PC_7 | ALT0, // same pin used for alternate HW
PC_8 = 0x28,
PC_8_ALT0 = PC_8 | ALT0,
PC_8_ALT0 = PC_8 | ALT0, // same pin used for alternate HW
PC_9 = 0x29,
PC_9_ALT0 = PC_9 | ALT0,
PC_9_ALT0 = PC_9 | ALT0, // same pin used for alternate HW
PC_10 = 0x2A,
PC_10_ALT0 = PC_10 | ALT0, // same pin used for alternate HW
PC_11 = 0x2B,
PC_11_ALT0 = PC_11 | ALT0, // same pin used for alternate HW
PC_12 = 0x2C,
PC_13 = 0x2D,
PC_14 = 0x2E,
PC_15 = 0x2F,
PD_0 = 0x30,
PD_1 = 0x31,
PD_2 = 0x32,
@ -160,7 +156,6 @@ typedef enum {
PD_13 = 0x3D,
PD_14 = 0x3E,
PD_15 = 0x3F,
PE_0 = 0x40,
PE_1 = 0x41,
PE_2 = 0x42,
@ -177,7 +172,6 @@ typedef enum {
PE_13 = 0x4D,
PE_14 = 0x4E,
PE_15 = 0x4F,
PF_0 = 0x50,
PF_1 = 0x51,
PF_2 = 0x52,
@ -194,7 +188,6 @@ typedef enum {
PF_13 = 0x5D,
PF_14 = 0x5E,
PF_15 = 0x5F,
PG_0 = 0x60,
PG_1 = 0x61,
PG_2 = 0x62,
@ -211,7 +204,6 @@ typedef enum {
PG_13 = 0x6D,
PG_14 = 0x6E,
PG_15 = 0x6F,
PH_0 = 0x70,
PH_1 = 0x71,
PH_2 = 0x72,
@ -228,7 +220,6 @@ typedef enum {
PH_13 = 0x7D,
PH_14 = 0x7E,
PH_15 = 0x7F,
PI_0 = 0x80,
PI_1 = 0x81,
PI_2 = 0x82,
@ -245,7 +236,6 @@ typedef enum {
PI_13 = 0x8D,
PI_14 = 0x8E,
PI_15 = 0x8F,
PJ_0 = 0x90,
PJ_1 = 0x91,
PJ_2 = 0x92,
@ -256,64 +246,54 @@ typedef enum {
PJ_13 = 0x9D,
PJ_14 = 0x9E,
PJ_15 = 0x9F,
PK_3 = 0xA3,
PK_4 = 0xA4,
PK_5 = 0xA5,
PK_6 = 0xA6,
PK_7 = 0xA7,
// ADC internal channels
ADC_TEMP = 0xF0,
ADC_VREF = 0xF1,
ADC_VBAT = 0xF2,
/**** ADC internal channels ****/
ADC_TEMP = 0xF0, // Internal pin virtual value
ADC_VREF = 0xF1, // Internal pin virtual value
ADC_VBAT = 0xF2, // Internal pin virtual value
#ifdef TARGET_FF_ARDUINO_UNO
// Arduino connector namings
A0 = PA_2, // ADC 0 / GPIO 16
A1 = PA_4, // ADC 1 / GPIO 17
A2 = PA_6, // ADC 2 / GPIO 18
A3 = PC_1, // ADC 3 / GPIO 19
A4 = PC_4, // ADC 4 / GPIO 20
A5 = PC_5, // ADC 5 / GPIO 21
ARDUINO_UNO_A0 = PA_2, // ADC 0 / GPIO 16
ARDUINO_UNO_A1 = PA_4, // ADC 1 / GPIO 17
ARDUINO_UNO_A2 = PA_6, // ADC 2 / GPIO 18
ARDUINO_UNO_A3 = PC_1, // ADC 3 / GPIO 19
ARDUINO_UNO_A4 = PC_4, // ADC 4 / GPIO 20
ARDUINO_UNO_A5 = PC_5, // ADC 5 / GPIO 21
D0 = PA_1, // UART RX / GPIO 0
D1 = PA_0, // UART TX / GPIO 1
D2 = PG_7, // GPIO 2
D3 = PD_12, // TMR / PWM / GPIO 3
D4 = PG_9, // GPIO 4
D5 = PA_11, // TMR / PWM / GPIO 5
D6 = PA_10, // TMR / PWM / GPIO 6
D7 = PG_10, // GPIO 7
D8 = PG_11, // GPIO 8
D9 = PB_15, // TMR / PWM / GPIO 9
D10 = PA_15, // SPI CS / TMR / PWM / GPIO 10
D11 = PA_7, // SPI MOSI / TMR / PWM / GPIO 11
D12 = PB_4, // SPI MISO / GPIO 12
D13 = PB_3, // SPI SCK / GPIO 13
D14 = PB_7, // I2C SDA / GPIO 14
D15 = PB_8, // I2C SCL / GPIO 15
ARDUINO_UNO_D0 = PA_1, // UART RX / GPIO 0
ARDUINO_UNO_D1 = PA_0, // UART TX / GPIO 1
ARDUINO_UNO_D2 = PG_7, // GPIO 2
ARDUINO_UNO_D3 = PD_12, // TMR / PWM / GPIO 3
ARDUINO_UNO_D4 = PG_9, // GPIO 4
ARDUINO_UNO_D5 = PA_11, // TMR / PWM / GPIO 5
ARDUINO_UNO_D6 = PA_10, // TMR / PWM / GPIO 6
ARDUINO_UNO_D7 = PG_10, // GPIO 7
ARDUINO_UNO_D8 = PG_11, // GPIO 8
ARDUINO_UNO_D9 = PB_15, // TMR / PWM / GPIO 9
ARDUINO_UNO_D10 = PA_15, // SPI CS / TMR / PWM / GPIO 10
ARDUINO_UNO_D11 = PA_7, // SPI MOSI / TMR / PWM / GPIO 11
ARDUINO_UNO_D12 = PB_4, // SPI MISO / GPIO 12
ARDUINO_UNO_D13 = PB_3, // SPI SCK / GPIO 13
ARDUINO_UNO_D14 = PB_7, // I2C SDA / GPIO 14
ARDUINO_UNO_D15 = PB_8, // I2C SCL / GPIO 15
#endif
// I2C alias added here
I2C_SDA = D14, // I2C SDA // should only be used as I2C line as uses pull ups on them
I2C_SCL = D15, // I2C SCL // should only be used as I2C line as uses pull ups on them
// Generic signals namings
LED1 = PK_7, // Red LED
LED2 = PK_6, // Orange LED
LED3 = PK_5, // Green LED
LED4 = PK_4, // Status LED
CONSOLE_TX = PC_12, // Use CONSOLE_TX and CONSOLE_RX for serial communications back to PC. Do not
CONSOLE_RX = PD_2, // use STDIO_UART_TX and STDIO_UART_RX
#if defined(MBED_CONF_TARGET_STDIO_UART_TX)
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
#else
STDIO_UART_TX = CONSOLE_TX,
CONSOLE_TX = PC_12,
#endif
#if defined(MBED_CONF_TARGET_STDIO_UART_RX)
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
#else
STDIO_UART_RX = CONSOLE_RX,
CONSOLE_RX = PD_2,
#endif
// Adding these signals for the SDP connector
@ -365,6 +345,13 @@ typedef enum {
NC = (int)0xFFFFFFFF
} PinName;
// Standardized LED and button names
#define LED1 PK_7 // Red LED
#define LED2 PK_6 // Orange LED
#define LED3 PK_5 // Green LED
#define LED4 PK_4 // Status LED
#ifdef __cplusplus
}
#endif