mbed library sources
Fork of mbed-src by
Diff: targets/hal/TARGET_STM/TARGET_DISCO_L053C8/pinmap.c
- Revision:
- 439:c4382fcbbaed
- Parent:
- 376:cb4d9db17537
diff -r 5de36ba1188c -r c4382fcbbaed targets/hal/TARGET_STM/TARGET_DISCO_L053C8/pinmap.c --- a/targets/hal/TARGET_STM/TARGET_DISCO_L053C8/pinmap.c Mon Dec 15 09:15:06 2014 +0000 +++ b/targets/hal/TARGET_STM/TARGET_DISCO_L053C8/pinmap.c Mon Dec 15 09:30:07 2014 +0000 @@ -50,7 +50,8 @@ }; // Enable GPIO clock and return GPIO base address -uint32_t Set_GPIO_Clock(uint32_t port_idx) { +uint32_t Set_GPIO_Clock(uint32_t port_idx) +{ uint32_t gpio_add = 0; switch (port_idx) { case PortA: @@ -83,7 +84,8 @@ /** * Configure pin (mode, speed, output type and pull-up/pull-down) */ -void pin_function(PinName pin, int data) { +void pin_function(PinName pin, int data) +{ MBED_ASSERT(pin != (PinName)NC); // Get the pin informations uint32_t mode = STM_PIN_MODE(data); @@ -119,7 +121,8 @@ /** * Configure pin pull-up/pull-down */ -void pin_mode(PinName pin, PinMode mode) { +void pin_mode(PinName pin, PinMode mode) +{ MBED_ASSERT(pin != (PinName)NC); uint32_t port_index = STM_PORT(pin); uint32_t pin_index = STM_PIN(pin); @@ -131,7 +134,9 @@ // Configure pull-up/pull-down resistors uint32_t pupd = (uint32_t)mode; if (pupd > 2) + { pupd = 0; // Open-drain = No pull-up/No pull-down + } gpio->PUPDR &= (uint32_t)(~(GPIO_PUPDR_PUPD0 << (pin_index * 2))); gpio->PUPDR |= (uint32_t)(pupd << (pin_index * 2));