From 1c097cc8c3bfa2eb15dd92794aa9cc3d828d18ce Mon Sep 17 00:00:00 2001 From: stevstrong Date: Fri, 2 Jun 2017 19:32:34 +0200 Subject: [PATCH] added pin modes: GPIO_AF_OUTPUT_PP_PU (for SDIO) and GPIO_AF_INPUT_PU/PD --- .../cores/maple/libmaple/HardwareSerial.cpp | 4 ++-- STM32F4/cores/maple/libmaple/gpio_def.h | 21 ++++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/STM32F4/cores/maple/libmaple/HardwareSerial.cpp b/STM32F4/cores/maple/libmaple/HardwareSerial.cpp index f9387d1..7f3d281 100644 --- a/STM32F4/cores/maple/libmaple/HardwareSerial.cpp +++ b/STM32F4/cores/maple/libmaple/HardwareSerial.cpp @@ -100,8 +100,8 @@ void HardwareSerial::begin(uint32 baud) { gpio_set_af_mode(tx_pin, 7); gpio_set_af_mode(rx_pin, 7); } - gpio_set_mode(tx_pin, (gpio_pin_mode)(GPIO_AF_OUTPUT_PP | GPIO_PUPD_INPUT_PU | 0x700)); - gpio_set_mode(rx_pin, (gpio_pin_mode)(GPIO_MODE_AF | GPIO_PUPD_INPUT_PU | 0x700)); + gpio_set_mode(tx_pin, (gpio_pin_mode)(GPIO_AF_OUTPUT_PP_PU | 0x700)); + gpio_set_mode(rx_pin, (gpio_pin_mode)(GPIO_AF_INPUT_PU | 0x700)); //gpio_set_mode(txi->gpio_device, txi->gpio_bit, (gpio_pin_mode)(GPIO_PUPD_INPUT_PU)); //gpio_set_mode(rxi->gpio_device, rxi->gpio_bit, (gpio_pin_mode)(GPIO_PUPD_INPUT_PU)); #else diff --git a/STM32F4/cores/maple/libmaple/gpio_def.h b/STM32F4/cores/maple/libmaple/gpio_def.h index cd1fb38..4a8e61e 100644 --- a/STM32F4/cores/maple/libmaple/gpio_def.h +++ b/STM32F4/cores/maple/libmaple/gpio_def.h @@ -125,9 +125,9 @@ extern gpio_dev* const GPIOG; #define GPIO_MODE_AF 2 #define GPIO_MODE_ANALOG 3 -#define GPIO_PUPD_INPUT_FLOATING (0 << 2) -#define GPIO_PUPD_INPUT_PU (1 << 2) -#define GPIO_PUPD_INPUT_PD (2 << 2) +#define GPIO_PUPD_NONE (0 << 2) +#define GPIO_PUPD_PU (1 << 2) +#define GPIO_PUPD_PD (2 << 2) #define GPIO_OSPEED_2MHZ (0 << 4) #define GPIO_OSPEED_25MHZ (1 << 4) @@ -177,18 +177,19 @@ typedef enum gpio_pin_mode { GPIO_AF_OUTPUT_PP = (GPIO_MODE_AF | GPIO_OTYPE_PP | GPIO_OSPEED_50MHZ), /**< Alternate function output push-pull. */ + GPIO_AF_OUTPUT_PP_PU = (GPIO_MODE_AF | GPIO_OTYPE_PP | GPIO_PUPD_PU | + GPIO_OSPEED_50MHZ), /**< Alternate function + output push-pull. */ GPIO_AF_OUTPUT_OD = (GPIO_MODE_AF | GPIO_OTYPE_OD | GPIO_OSPEED_50MHZ), /**< Alternate function output open drain. */ GPIO_INPUT_ANALOG = (GPIO_MODE_ANALOG), /**< Analog input. */ GPIO_INPUT_FLOATING = (GPIO_MODE_INPUT | - GPIO_PUPD_INPUT_FLOATING), /**< Input floating. */ - GPIO_INPUT_PD = (GPIO_MODE_INPUT | - GPIO_PUPD_INPUT_PD), /**< Input pull-down. */ - GPIO_INPUT_PU = (GPIO_MODE_INPUT | - GPIO_PUPD_INPUT_PU), /**< Input pull-up. */ - GPIO_AF_INPUT_PD = (GPIO_MODE_AF | - GPIO_PUPD_INPUT_PD), /**< Input pull-down. */ + GPIO_PUPD_NONE), /**< Input floating. */ + GPIO_INPUT_PU = (GPIO_MODE_INPUT | GPIO_PUPD_PU), /**< Input pull-up. */ + GPIO_INPUT_PD = (GPIO_MODE_INPUT | GPIO_PUPD_PD), /**< Input pull-down. */ + GPIO_AF_INPUT_PU = (GPIO_MODE_AF | GPIO_PUPD_PU), /**< Alternate input pull-up. */ + GPIO_AF_INPUT_PD = (GPIO_MODE_AF | GPIO_PUPD_PD), /**< Alternate input pull-down. */ GPIO_BIGNUMBER = 0xfff } gpio_pin_mode;