LIbreria de soporte para la STM32F103C8T6 "Blue Pill" by Antuliu's Team
Dependents: STM32-103C8_Plantilla_USB
Diff: PinNames.h
- Revision:
- 6:e35173aca75e
- Parent:
- 1:0bf5385bbf21
- Child:
- 7:09d8c2eacb4d
--- a/PinNames.h Tue Aug 02 19:37:40 2016 +0000 +++ b/PinNames.h Sun Oct 09 09:25:19 2016 +0000 @@ -26,9 +26,6 @@ * 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. ******************************************************************************* - * - * Modified for STM32F103C6T8 by Zoltan Hudak, 2016 - * */ #ifndef MBED_PINNAMES_H #define MBED_PINNAMES_H @@ -39,11 +36,22 @@ extern "C" { #endif -// See stm32f3xx_hal_gpio.h and stm32f3xx_hal_gpio_ex.h for values of MODE, PUPD and AFNUM -#define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((AFNUM) << 7) | ((PUPD) << 4) | ((MODE) << 0))) +#define STM_PIN_DATA(MODE, PUPD, AFNUM) ((int)(((MODE & 0x0F) << 0) |\ + ((PUPD & 0x07) << 4) |\ + ((AFNUM & 0x0F) << 7))) + +#define STM_PIN_DATA_EXT(MODE, PUPD, AFNUM, CHANNEL, INVERTED) ((int)(((MODE & 0x0F) << 0) |\ + ((PUPD & 0x07) << 4) |\ + ((AFNUM & 0x0F) << 7) |\ + ((CHANNEL & 0x0F) << 11) |\ + ((INVERTED & 0x01) << 15))) + #define STM_PIN_MODE(X) (((X) >> 0) & 0x0F) #define STM_PIN_PUPD(X) (((X) >> 4) & 0x07) #define STM_PIN_AFNUM(X) (((X) >> 7) & 0x0F) +#define STM_PIN_CHANNEL(X) (((X) >> 11) & 0x0F) +#define STM_PIN_INVERTED(X) (((X) >> 15) & 0x01) + #define STM_MODE_INPUT (0) #define STM_MODE_OUTPUT_PP (1) #define STM_MODE_OUTPUT_OD (2) @@ -69,6 +77,10 @@ } PinDirection; typedef enum { + // Not connected + NC = (int)0xFFFFFFFF, + + // Ports PA_0 = 0x00, PA_1 = 0x01, PA_2 = 0x02, @@ -82,10 +94,13 @@ PA_10 = 0x0A, PA_11 = 0x0B, PA_12 = 0x0C, + PA_13 = NC, + PA_14 = NC, PA_15 = 0x0F, PB_0 = 0x10, PB_1 = 0x11, + PB_2 = NC, PB_3 = 0x13, PB_4 = 0x14, PB_5 = 0x15, @@ -100,16 +115,32 @@ PB_14 = 0x1E, PB_15 = 0x1F, + PC_0 = NC, + PC_1 = NC, + PC_2 = NC, + PC_3 = NC, + PC_4 = NC, + PC_5 = NC, + PC_6 = NC, + PC_7 = NC, + PC_8 = NC, + PC_9 = NC, + PC_10 = NC, + PC_11 = NC, + PC_12 = NC, PC_13 = 0x2D, PC_14 = 0x2E, PC_15 = 0x2F, + PD_2 = NC, // Arduino connector namings A0 = PA_0, A1 = PA_1, A2 = PA_4, A3 = PB_0, + A4 = NC, + A5 = NC, D0 = PA_3, D1 = PA_2, D2 = PA_10, @@ -119,6 +150,7 @@ D6 = PB_10, D7 = PA_8, D8 = PA_9, + D9 = NC, D10 = PB_6, D11 = PA_7, D12 = PA_6, @@ -128,6 +160,10 @@ // Generic signals namings LED1 = PC_13, + LED2 = NC, + LED3 = NC, + LED4 = NC, + USER_BUTTON = NC, SERIAL_TX = PA_2, SERIAL_RX = PA_3, USBTX = PA_2, @@ -138,10 +174,7 @@ SPI_MISO = PA_6, SPI_SCK = PA_5, SPI_CS = PB_6, - PWM_OUT = PB_3, - - // Not connected - NC = (int)0xFFFFFFFF + PWM_OUT = PB_3 } PinName; typedef enum {