176 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|   Copyright (c) 2011 Arduino.  All right reserved.
 | |
| 
 | |
|   This library is free software; you can redistribute it and/or
 | |
|   modify it under the terms of the GNU Lesser General Public
 | |
|   License as published by the Free Software Foundation; either
 | |
|   version 2.1 of the License, or (at your option) any later version.
 | |
| 
 | |
|   This library is distributed in the hope that it will be useful,
 | |
|   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
|   See the GNU Lesser General Public License for more details.
 | |
| 
 | |
|   You should have received a copy of the GNU Lesser General Public
 | |
|   License along with this library; if not, write to the Free Software
 | |
|   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 | |
| */
 | |
| 
 | |
| #ifndef _VARIANT_ARDUINO_STM32_
 | |
| #define _VARIANT_ARDUINO_STM32_
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif // __cplusplus
 | |
| 
 | |
| 
 | |
| // *   = F103R8-B-C-D-E-F-G
 | |
| // **  = F103RC-D-E-F-G
 | |
| //                  | DIGITAL | ANALOG         | USART                    | TWI       | SPI                   | SPECIAL   |
 | |
| //                  |---------|----------------|--------------------------|-----------|-----------------------|-----------|
 | |
| #define PA0  PIN_A0  // | 0       | A0             |                          |           |                       |           |
 | |
| #define PA1  PIN_A1  // | 1       | A1             |                          |           |                       |           |
 | |
| #define PA2  PIN_A2  // | 2       | A2             | USART2_TX                |           |                       |           |
 | |
| #define PA3  PIN_A3  // | 2       | A2, DAC_OUT1** | USART2_RX                |           |                       |           |
 | |
| #define PA4  PIN_A4  // | 4       | A4, DAC_OUT2** |                          |           | SPI1_SS               |           |
 | |
| #define PA5  PIN_A5  // | 5       | A5             |                          |           | SPI1_SCK              |           |
 | |
| #define PA6  PIN_A6  // | 6       | A6             |                          |           | SPI1_MISO             |           |
 | |
| #define PA7  PIN_A7  // | 7       | A7             |                          |           | SPI1_MOSI             |           |
 | |
| #define PA8  8   // | 8       |                |                          |           |                       |           |
 | |
| #define PA9  9   // | 9       |                | USART1_TX                |           |                       |           |
 | |
| #define PA10 10  // | 10      |                | USART1_RX                |           |                       |           |
 | |
| #define PA11 11  // | 11      |                |                          |           |                       | USB_DM    |
 | |
| #define PA12 12  // | 12      |                |                          |           |                       | USB_DP    |
 | |
| #define PA13 13  // | 13      |                |                          |           |                       | SWD_SWDIO |
 | |
| #define PA14 14  // | 14      |                |                          |           |                       | SWD_SWCLK |
 | |
| #define PA15 15  // | 15      |                |                          |           | SPI1_SS/SPI3_SS**     |           |
 | |
| //                  |---------|----------------|--------------------------|-----------|-----------------------|-----------|
 | |
| #define PB0  PIN_A8  // | 16      | A8             |                          |           |                       |           |
 | |
| #define PB1  PIN_A9  // | 17      | A9             |                          |           |                       |           |
 | |
| #define PB2  18  // | 18      |                |                          |           |                       | BOOT1     |
 | |
| #define PB3  19  // | 19      |                |                          |           | SPI1_SCK/SPI3_SCK**   |           |
 | |
| #define PB4  20  // | 20      |                |                          |           | SPI1_MISO/SPI3_MISO** |           |
 | |
| #define PB5  21  // | 21      |                |                          |           | SPI1_MOSI/SPI3_MOSI** |           |
 | |
| #define PB6  22  // | 22      |                | USART1_TX                | TWI1_SCL  |                       |           |
 | |
| #define PB7  23  // | 23      |                | USART1_RX                | TWI1_SDA  |                       |           |
 | |
| #define PB8  24  // | 24      |                |                          | TWI1_SCL  |                       |           |
 | |
| #define PB9  25  // | 25      |                |                          | TWI1_SDA  |                       |           |
 | |
| #define PB10 26  // | 26      |                | USART3_TX*               | TWI2_SCL* |                       |           |
 | |
| #define PB11 27  // | 27      |                | USART3_RX*               | TWI2_SDA* |                       |           |
 | |
| #define PB12 28  // | 28      |                |                          |           | SPI2_SS*              |           |
 | |
| #define PB13 29  // | 29      |                |                          |           | SPI2_SCK*             |           |
 | |
| #define PB14 30  // | 30      |                |                          |           | SPI2_MISO*            |           |
 | |
| #define PB15 31  // | 31      |                |                          |           | SPI2_MOSI*            |           |
 | |
| //                  |---------|----------------|--------------------------|-----------|-----------------------|-----------|
 | |
| #define PC0  PIN_A10 // | 32      | A10            |                          |           |                       |           |
 | |
| #define PC1  PIN_A11 // | 33      | A11            |                          |           |                       |           |
 | |
| #define PC2  PIN_A12 // | 34      | A12            |                          |           |                       |           |
 | |
| #define PC3  PIN_A13 // | 35      | A13            |                          |           |                       |           |
 | |
| #define PC4  PIN_A14 // | 36      | A14            |                          |           |                       |           |
 | |
| #define PC5  PIN_A15 // | 37      | A15            |                          |           |                       |           |
 | |
| #define PC6  38  // | 38      |                |                          |           |                       |           |
 | |
| #define PC7  39  // | 39      |                |                          |           |                       |           |
 | |
| #define PC8  40  // | 40      |                |                          |           |                       |           |
 | |
| #define PC9  41  // | 41      |                |                          |           |                       |           |
 | |
| #define PC10 42  // | 42      |                | USART3_TX*/UART4_TX**    |           |                       |           |
 | |
| #define PC11 43  // | 43      |                | USART3_RX*/UART4_RX**    |           |                       |           |
 | |
| #define PC12 44  // | 44      |                | UART5_TX**               |           |                       |           |
 | |
| #define PC13 45  // | 45      |                |                          |           |                       |           |
 | |
| #define PC14 46  // | 46      |                |                          |           |                       | OSC32_IN  |
 | |
| #define PC15 47  // | 47      |                |                          |           |                       | OSC32_OUT |
 | |
| //                  |---------|----------------|--------------------------|-----------|-----------------------|-----------|
 | |
| #define PD0  48  // | 48      |                |                          |           |                       | OSC_IN    |
 | |
| #define PD1  49  // | 48      |                |                          |           |                       | OSC_OUT   |
 | |
| #define PD2  50  // | 50      |                | UART5_RX**               |           |                       |           |
 | |
| //                  |---------|----------------|--------------------------|-----------|-----------------------|-----------|
 | |
| 
 | |
| // This must be a literal
 | |
| #define NUM_DIGITAL_PINS        51
 | |
| // This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS
 | |
| #define NUM_ANALOG_INPUTS       16
 | |
| 
 | |
| // On-board LED pin number
 | |
| #ifndef LED_BUILTIN
 | |
| #define LED_BUILTIN             PB11
 | |
| #endif
 | |
| #define LED_GREEN               LED_BUILTIN
 | |
| 
 | |
| // On-board user button
 | |
| #ifndef USER_BTN
 | |
| #define USER_BTN                PC13
 | |
| #endif
 | |
| 
 | |
| // Override default Arduino configuration
 | |
| 
 | |
| // SPI Definitions
 | |
| #if DEFAULT_SPI == 3
 | |
|   #define PIN_SPI_SS            PA15
 | |
|   #define PIN_SPI_MOSI          PB3
 | |
|   #define PIN_SPI_MISO          PB4
 | |
|   #define PIN_SPI_SCK           PB5
 | |
| #elif DEFAULT_SPI == 2
 | |
|   #define PIN_SPI_SS            PB12
 | |
|   #define PIN_SPI_MOSI          PB13
 | |
|   #define PIN_SPI_MISO          PB14
 | |
|   #define PIN_SPI_SCK           PB15
 | |
| #else
 | |
|   #define PIN_SPI_SS            PA4
 | |
|   #define PIN_SPI_MOSI          PA7
 | |
|   #define PIN_SPI_MISO          PA6
 | |
|   #define PIN_SPI_SCK           PA5
 | |
| #endif
 | |
| 
 | |
| // I2C Definitions
 | |
| #define PIN_WIRE_SDA            PB7
 | |
| #define PIN_WIRE_SCL            PB6
 | |
| 
 | |
| // Timer Definitions
 | |
| #ifndef TIMER_TONE
 | |
|   #define TIMER_TONE            TIM3
 | |
| #endif
 | |
| #ifndef TIMER_SERVO
 | |
|   #define TIMER_SERVO           TIM2
 | |
| #endif
 | |
| 
 | |
| // UART Definitions
 | |
| // Define here Serial instance number to map on Serial generic name
 | |
| #define SERIAL_UART_INSTANCE    1
 | |
| 
 | |
| // Default pin used for 'Serial1' instance
 | |
| #define PIN_SERIAL_RX           PA10
 | |
| #define PIN_SERIAL_TX           PA9
 | |
| 
 | |
| // Extra HAL modules
 | |
| #if defined(STM32F103xE) || defined(STM32F103xG)
 | |
| #define HAL_DAC_MODULE_ENABLED
 | |
| #endif
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| } // extern "C"
 | |
| #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    Serial1
 | |
| #endif
 | |
| 
 | |
| #endif /* _VARIANT_ARDUINO_STM32_ */
 |