Bluepill_Plantilla Es la plantilla base (mejorada) para soporte y compatibilidad en Mbed para la tarjeta "BluePill" basada en el procesador ARM M3 STM32F103C8T6
Dependencies: mbed
BluePill/PinNames.h@7:62b714b5d89d, 2022-02-22 (annotated)
- Committer:
- Antulius
- Date:
- Tue Feb 22 04:28:18 2022 +0000
- Revision:
- 7:62b714b5d89d
- Parent:
- 4:e1e547c34929
Bluepill_Plantilla Es la plantilla base (mejorada) para soporte y compatibilidad en Mbed para la tarjeta "BluePill" basada en el procesador ARM M3 STM32F103C8T6
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Antulius | 0:9f7581d1af6f | 1 | /* mbed Microcontroller Library |
Antulius | 0:9f7581d1af6f | 2 | ******************************************************************************* |
Antulius | 0:9f7581d1af6f | 3 | * Copyright (c) 2014, STMicroelectronics |
Antulius | 0:9f7581d1af6f | 4 | * All rights reserved. |
Antulius | 0:9f7581d1af6f | 5 | * |
Antulius | 0:9f7581d1af6f | 6 | * Redistribution and use in source and binary forms, with or without |
Antulius | 0:9f7581d1af6f | 7 | * modification, are permitted provided that the following conditions are met: |
Antulius | 0:9f7581d1af6f | 8 | * |
Antulius | 0:9f7581d1af6f | 9 | * 1. Redistributions of source code must retain the above copyright notice, |
Antulius | 0:9f7581d1af6f | 10 | * this list of conditions and the following disclaimer. |
Antulius | 0:9f7581d1af6f | 11 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
Antulius | 0:9f7581d1af6f | 12 | * this list of conditions and the following disclaimer in the documentation |
Antulius | 0:9f7581d1af6f | 13 | * and/or other materials provided with the distribution. |
Antulius | 0:9f7581d1af6f | 14 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
Antulius | 0:9f7581d1af6f | 15 | * may be used to endorse or promote products derived from this software |
Antulius | 0:9f7581d1af6f | 16 | * without specific prior written permission. |
Antulius | 0:9f7581d1af6f | 17 | * |
Antulius | 0:9f7581d1af6f | 18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
Antulius | 0:9f7581d1af6f | 19 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
Antulius | 0:9f7581d1af6f | 20 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
Antulius | 0:9f7581d1af6f | 21 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
Antulius | 0:9f7581d1af6f | 22 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
Antulius | 0:9f7581d1af6f | 23 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
Antulius | 0:9f7581d1af6f | 24 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
Antulius | 0:9f7581d1af6f | 25 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
Antulius | 0:9f7581d1af6f | 26 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
Antulius | 0:9f7581d1af6f | 27 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
Antulius | 0:9f7581d1af6f | 28 | ******************************************************************************* |
Antulius | 0:9f7581d1af6f | 29 | |
Antulius | 0:9f7581d1af6f | 30 | */ |
Antulius | 0:9f7581d1af6f | 31 | #ifndef MBED_PINNAMES_H |
Antulius | 0:9f7581d1af6f | 32 | #define MBED_PINNAMES_H |
Antulius | 0:9f7581d1af6f | 33 | |
Antulius | 0:9f7581d1af6f | 34 | #include "cmsis.h" |
Antulius | 0:9f7581d1af6f | 35 | #include "PinNamesTypes.h" |
Antulius | 0:9f7581d1af6f | 36 | |
Antulius | 0:9f7581d1af6f | 37 | #ifdef __cplusplus |
Antulius | 0:9f7581d1af6f | 38 | extern "C" { |
Antulius | 0:9f7581d1af6f | 39 | #endif |
Antulius | 0:9f7581d1af6f | 40 | |
Antulius | 2:ed30bbd12e22 | 41 | //UART to AMB8826 |
Antulius | 2:ed30bbd12e22 | 42 | #define TXD1 PA_9 |
Antulius | 2:ed30bbd12e22 | 43 | #define RXD1 PA_10 |
Antulius | 2:ed30bbd12e22 | 44 | #define CTS1 PA_11 |
Antulius | 2:ed30bbd12e22 | 45 | int baudRate = 115200; |
Antulius | 2:ed30bbd12e22 | 46 | |
Antulius | 2:ed30bbd12e22 | 47 | //UART to Silicon Labs CP210x |
Antulius | 2:ed30bbd12e22 | 48 | #define TXD2 PA_2 |
Antulius | 2:ed30bbd12e22 | 49 | #define RXD2 PA_3 |
Antulius | 2:ed30bbd12e22 | 50 | |
Antulius | 2:ed30bbd12e22 | 51 | //UART to FTDI |
Antulius | 2:ed30bbd12e22 | 52 | #define TXD3 PB_10 |
Antulius | 2:ed30bbd12e22 | 53 | #define RXD3 PB_11 |
Antulius | 2:ed30bbd12e22 | 54 | |
Antulius | 2:ed30bbd12e22 | 55 | //I2C |
Antulius | 2:ed30bbd12e22 | 56 | #define I2C1_SCL PB_6 |
Antulius | 2:ed30bbd12e22 | 57 | #define I2C1_SDA PB_7 |
Antulius | 2:ed30bbd12e22 | 58 | |
Antulius | 2:ed30bbd12e22 | 59 | #define I2C2_SCL PB_10 |
Antulius | 2:ed30bbd12e22 | 60 | #define I2C2_SDA PB_11 |
Antulius | 2:ed30bbd12e22 | 61 | |
Antulius | 2:ed30bbd12e22 | 62 | //SPI |
Antulius | 2:ed30bbd12e22 | 63 | #define SPI1_MOSI PA_7 |
Antulius | 2:ed30bbd12e22 | 64 | #define SPI1_MISO PA_6 |
Antulius | 2:ed30bbd12e22 | 65 | #define SPI1_SCLK PA_5 |
Antulius | 2:ed30bbd12e22 | 66 | #define SPI1_NSS1 PA_4 |
Antulius | 2:ed30bbd12e22 | 67 | #define SDsel PA_4 |
Antulius | 2:ed30bbd12e22 | 68 | |
Antulius | 2:ed30bbd12e22 | 69 | #define SPI2_MOSI PB_15 |
Antulius | 2:ed30bbd12e22 | 70 | #define SPI2_MISO PB_14 |
Antulius | 2:ed30bbd12e22 | 71 | #define SPI2_SCLK PB_13 |
Antulius | 2:ed30bbd12e22 | 72 | #define SPI2_NSS2 PB_12 |
Antulius | 2:ed30bbd12e22 | 73 | |
Antulius | 2:ed30bbd12e22 | 74 | //CAN |
Antulius | 2:ed30bbd12e22 | 75 | #define CAN1_RX PA_11 |
Antulius | 2:ed30bbd12e22 | 76 | #define CAN1_TX PA_12 |
Antulius | 2:ed30bbd12e22 | 77 | |
Antulius | 2:ed30bbd12e22 | 78 | //USB CDC |
Antulius | 2:ed30bbd12e22 | 79 | #define USB_POS PA_12 |
Antulius | 2:ed30bbd12e22 | 80 | #define USB_NEG PA_11 |
Antulius | 2:ed30bbd12e22 | 81 | |
Antulius | 2:ed30bbd12e22 | 82 | //ADC |
Antulius | 2:ed30bbd12e22 | 83 | #define Uin PA_1 |
Antulius | 2:ed30bbd12e22 | 84 | #define Ubatt PA_0 |
Antulius | 2:ed30bbd12e22 | 85 | |
Antulius | 0:9f7581d1af6f | 86 | typedef enum { |
Antulius | 0:9f7581d1af6f | 87 | // Not connected |
Antulius | 0:9f7581d1af6f | 88 | NC = (int)0xFFFFFFFF, |
Antulius | 0:9f7581d1af6f | 89 | |
Antulius | 0:9f7581d1af6f | 90 | // Ports |
Antulius | 0:9f7581d1af6f | 91 | PA_0 = 0x00, |
Antulius | 0:9f7581d1af6f | 92 | PA_1 = 0x01, |
Antulius | 0:9f7581d1af6f | 93 | PA_2 = 0x02, |
Antulius | 0:9f7581d1af6f | 94 | PA_3 = 0x03, |
Antulius | 0:9f7581d1af6f | 95 | PA_4 = 0x04, |
Antulius | 0:9f7581d1af6f | 96 | PA_5 = 0x05, |
Antulius | 0:9f7581d1af6f | 97 | PA_6 = 0x06, |
Antulius | 0:9f7581d1af6f | 98 | PA_7 = 0x07, |
Antulius | 0:9f7581d1af6f | 99 | PA_8 = 0x08, |
Antulius | 0:9f7581d1af6f | 100 | PA_9 = 0x09, |
Antulius | 0:9f7581d1af6f | 101 | PA_10 = 0x0A, |
Antulius | 0:9f7581d1af6f | 102 | PA_11 = 0x0B, |
Antulius | 0:9f7581d1af6f | 103 | PA_12 = 0x0C, |
Antulius | 0:9f7581d1af6f | 104 | PA_13 = NC, |
Antulius | 0:9f7581d1af6f | 105 | PA_14 = NC, |
Antulius | 0:9f7581d1af6f | 106 | PA_15 = 0x0F, |
Antulius | 0:9f7581d1af6f | 107 | |
Antulius | 0:9f7581d1af6f | 108 | PB_0 = 0x10, |
Antulius | 0:9f7581d1af6f | 109 | PB_1 = 0x11, |
Antulius | 0:9f7581d1af6f | 110 | PB_2 = NC, |
Antulius | 0:9f7581d1af6f | 111 | PB_3 = 0x13, |
Antulius | 0:9f7581d1af6f | 112 | PB_4 = 0x14, |
Antulius | 0:9f7581d1af6f | 113 | PB_5 = 0x15, |
Antulius | 0:9f7581d1af6f | 114 | PB_6 = 0x16, |
Antulius | 0:9f7581d1af6f | 115 | PB_7 = 0x17, |
Antulius | 0:9f7581d1af6f | 116 | PB_8 = 0x18, |
Antulius | 0:9f7581d1af6f | 117 | PB_9 = 0x19, |
Antulius | 0:9f7581d1af6f | 118 | PB_10 = 0x1A, |
Antulius | 0:9f7581d1af6f | 119 | PB_11 = 0x1B, |
Antulius | 0:9f7581d1af6f | 120 | PB_12 = 0x1C, |
Antulius | 0:9f7581d1af6f | 121 | PB_13 = 0x1D, |
Antulius | 0:9f7581d1af6f | 122 | PB_14 = 0x1E, |
Antulius | 0:9f7581d1af6f | 123 | PB_15 = 0x1F, |
Antulius | 0:9f7581d1af6f | 124 | |
Antulius | 0:9f7581d1af6f | 125 | PC_0 = NC, |
Antulius | 0:9f7581d1af6f | 126 | PC_1 = NC, |
Antulius | 0:9f7581d1af6f | 127 | PC_2 = NC, |
Antulius | 0:9f7581d1af6f | 128 | PC_3 = NC, |
Antulius | 0:9f7581d1af6f | 129 | PC_4 = NC, |
Antulius | 0:9f7581d1af6f | 130 | PC_5 = NC, |
Antulius | 0:9f7581d1af6f | 131 | PC_6 = NC, |
Antulius | 0:9f7581d1af6f | 132 | PC_7 = NC, |
Antulius | 0:9f7581d1af6f | 133 | PC_8 = NC, |
Antulius | 0:9f7581d1af6f | 134 | PC_9 = NC, |
Antulius | 0:9f7581d1af6f | 135 | PC_10 = NC, |
Antulius | 0:9f7581d1af6f | 136 | PC_11 = NC, |
Antulius | 0:9f7581d1af6f | 137 | PC_12 = NC, |
Antulius | 0:9f7581d1af6f | 138 | PC_13 = 0x2D, |
Antulius | 0:9f7581d1af6f | 139 | PC_14 = 0x2E, |
Antulius | 0:9f7581d1af6f | 140 | PC_15 = 0x2F, |
Antulius | 0:9f7581d1af6f | 141 | |
Antulius | 0:9f7581d1af6f | 142 | PD_2 = NC, |
Antulius | 0:9f7581d1af6f | 143 | |
Antulius | 0:9f7581d1af6f | 144 | // ADC internal channels |
Antulius | 0:9f7581d1af6f | 145 | ADC_TEMP = 0xF0, |
Antulius | 0:9f7581d1af6f | 146 | ADC_VREF = 0xF1, |
Antulius | 0:9f7581d1af6f | 147 | |
Antulius | 0:9f7581d1af6f | 148 | // Arduino connector namings |
Antulius | 0:9f7581d1af6f | 149 | A0 = PA_0, |
Antulius | 0:9f7581d1af6f | 150 | A1 = PA_1, |
Antulius | 0:9f7581d1af6f | 151 | A2 = PA_4, |
Antulius | 0:9f7581d1af6f | 152 | A3 = PB_0, |
Antulius | 0:9f7581d1af6f | 153 | A4 = NC, |
Antulius | 0:9f7581d1af6f | 154 | A5 = NC, |
Antulius | 0:9f7581d1af6f | 155 | D0 = PA_3, |
Antulius | 0:9f7581d1af6f | 156 | D1 = PA_2, |
Antulius | 0:9f7581d1af6f | 157 | D2 = PA_10, |
Antulius | 0:9f7581d1af6f | 158 | D3 = PB_3, |
Antulius | 0:9f7581d1af6f | 159 | D4 = PB_5, |
Antulius | 0:9f7581d1af6f | 160 | D5 = PB_4, |
Antulius | 0:9f7581d1af6f | 161 | D6 = PB_10, |
Antulius | 0:9f7581d1af6f | 162 | D7 = PA_8, |
Antulius | 0:9f7581d1af6f | 163 | D8 = PA_9, |
Antulius | 0:9f7581d1af6f | 164 | D9 = NC, |
Antulius | 0:9f7581d1af6f | 165 | D10 = PB_6, |
Antulius | 0:9f7581d1af6f | 166 | D11 = PA_7, |
Antulius | 0:9f7581d1af6f | 167 | D12 = PA_6, |
Antulius | 0:9f7581d1af6f | 168 | D13 = PA_5, |
Antulius | 0:9f7581d1af6f | 169 | D14 = PB_9, |
Antulius | 0:9f7581d1af6f | 170 | D15 = PB_8, |
Antulius | 0:9f7581d1af6f | 171 | |
Antulius | 0:9f7581d1af6f | 172 | // Generic signals namings |
Antulius | 0:9f7581d1af6f | 173 | Red_Led = NC, |
Antulius | 0:9f7581d1af6f | 174 | Green_Led = PC_13, |
Antulius | 0:9f7581d1af6f | 175 | Blue_Led = NC, |
Antulius | 0:9f7581d1af6f | 176 | LED1 = PC_13, |
Antulius | 0:9f7581d1af6f | 177 | LED2 = NC, |
Antulius | 0:9f7581d1af6f | 178 | LED3 = NC, |
Antulius | 0:9f7581d1af6f | 179 | LED4 = NC, |
Antulius | 0:9f7581d1af6f | 180 | USER_BUTTON = NC, |
Antulius | 0:9f7581d1af6f | 181 | SERIAL_TX = PA_2, |
Antulius | 0:9f7581d1af6f | 182 | SERIAL_RX = PA_3, |
Antulius | 0:9f7581d1af6f | 183 | USBTX = PA_12, |
Antulius | 0:9f7581d1af6f | 184 | USBRX = PA_11, |
Antulius | 0:9f7581d1af6f | 185 | CANRX = PB_8, |
Antulius | 0:9f7581d1af6f | 186 | CANTX = PB_9, |
Antulius | 2:ed30bbd12e22 | 187 | I2C_SCL = PB_6, |
Antulius | 2:ed30bbd12e22 | 188 | I2C_SDA = PB_7, |
Antulius | 0:9f7581d1af6f | 189 | SPI_MOSI = PA_7, |
Antulius | 0:9f7581d1af6f | 190 | SPI_MISO = PA_6, |
Antulius | 0:9f7581d1af6f | 191 | SPI_SCK = PA_5, |
Antulius | 2:ed30bbd12e22 | 192 | SPI_CS = PA_4, |
Antulius | 2:ed30bbd12e22 | 193 | TRACE_SWO = PB_3, |
Antulius | 2:ed30bbd12e22 | 194 | SWO = PB_3 |
Antulius | 0:9f7581d1af6f | 195 | } PinName; |
Antulius | 0:9f7581d1af6f | 196 | |
Antulius | 0:9f7581d1af6f | 197 | #ifdef __cplusplus |
Antulius | 0:9f7581d1af6f | 198 | } |
Antulius | 0:9f7581d1af6f | 199 | #endif |
Antulius | 0:9f7581d1af6f | 200 | |
Antulius | 0:9f7581d1af6f | 201 | #endif |