/* ******************************************************************************* * Copyright (c) 2021, STMicroelectronics * All rights reserved. * * 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 * ******************************************************************************* */ #pragma once /*---------------------------------------------------------------------------- * STM32 pins number *----------------------------------------------------------------------------*/ #define PA8 0 #define PA9 1 #define PA10 2 #define PA11 3 #define PA12 4 #define PA13 5 #define PA14 6 #define PA15 7 #define PB2 8 #define PB3 9 #define PB4 10 #define PB5 11 #define PB6 12 #define PB7 13 #define PB8 14 #define PB9 15 #define PB10 16 #define PB11 17 #define PB12 18 #define PB13 19 #define PB14 20 #define PB15 21 #define PC13 22 #define PC14 23 #define PC15 24 #define PA0 PIN_A0 #define PA1 PIN_A1 #define PA2 PIN_A2 #define PA3 PIN_A3 #define PA4 PIN_A4 #define PA5 PIN_A5 #define PA6 PIN_A6 #define PA7 PIN_A7 #define PB0 PIN_A8 #define PB1 PIN_A9 #define PF0 35 #define PF1 36 // Alternate pins number #define PA1_ALT1 (PA1 | ALT1) #define PA2_ALT1 (PA2 | ALT1) #define PA3_ALT1 (PA3 | ALT1) #define PA6_ALT1 (PA6 | ALT1) #define PA7_ALT1 (PA7 | ALT1) #define PA7_ALT2 (PA7 | ALT2) #define PA7_ALT3 (PA7 | ALT3) #define PB0_ALT1 (PB0 | ALT1) #define PB1_ALT1 (PB1 | ALT1) #define PB1_ALT2 (PB1 | ALT2) #define PB14_ALT1 (PB14 | ALT1) #define PB15_ALT1 (PB15 | ALT1) #define PB15_ALT2 (PB15 | ALT2) #define NUM_DIGITAL_PINS 37 #define NUM_ANALOG_INPUTS 10 // On-board LED pin number #define LED_BUILTIN PA15 #define LED_RED LED_BUILTIN #define LED_GREEN PB3 // SPI Definitions #define PIN_SPI_SS PA4 #define PIN_SPI_MOSI PA7 #define PIN_SPI_MISO PA6 #define PIN_SPI_SCK PA5 // I2C Definitions #define PIN_WIRE_SDA PB7 #define PIN_WIRE_SCL PB6 // Timer Definitions #define TIMER_TONE TIM3 #define TIMER_SERVO TIM2 // UART Definitions // Define here Serial instance number to map on Serial generic name #define SERIAL_UART_INSTANCE 1 // Default pin used for 'Serial' instance // Mandatory for Firmata #define PIN_SERIAL_RX PA10 #define PIN_SERIAL_TX PA9 //Used for the GPS Module #define PIN_SERIAL2_TX PA2 #define PIN_SERIAL2_RX PA3 // Extra HAL modules #if !defined(HAL_DAC_MODULE_DISABLED) #define HAL_DAC_MODULE_ENABLED #endif /*---------------------------------------------------------------------------- * Arduino objects - C++ only *----------------------------------------------------------------------------*/ #ifdef __cplusplus // These serial port names are intended to allow libraries and architecture-neutral // sketches to automatically default to the correct port name for a particular type // of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, // the first hardware serial port whose RX/TX pins are not dedicated to another use. // // SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor // // SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial // // SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library // // SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. // // SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX // pins are NOT connected to anything by default. #define SERIAL_PORT_MONITOR Serial #define SERIAL_PORT_HARDWARE Serial #endif