diff --git a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D50M/serial_api.c b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D50M/serial_api.c index bb759a77de..168d8bb677 100644 --- a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D50M/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D50M/serial_api.c @@ -98,8 +98,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } obj->uart->C2 |= (UART_C2_RE_MASK | UART_C2_TE_MASK); diff --git a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KLXX/serial_api.c b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KLXX/serial_api.c index 4945b7683d..6c3b01815a 100644 --- a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KLXX/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KLXX/serial_api.c @@ -96,8 +96,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } obj->uart->C2 |= (UARTLP_C2_RE_MASK | UARTLP_C2_TE_MASK); diff --git a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c index 06715a40d4..e9fe7b1820 100644 --- a/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c @@ -68,8 +68,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } if (obj->index == STDIO_UART) { stdio_uart_inited = 1; diff --git a/libraries/mbed/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/serial_api.c b/libraries/mbed/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/serial_api.c index 25c7df2de6..b3f6eb717b 100644 --- a/libraries/mbed/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NORDIC/TARGET_MCU_NRF51822/serial_api.c @@ -85,8 +85,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { obj->index = 0; // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } if (uart == STDIO_UART) { stdio_uart_inited = 1; diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c index dc9495ef82..161f0fd3a1 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11U6X/serial_api.c @@ -142,8 +142,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } is_stdio_uart = (uart == STDIO_UART) ? (1) : (0); diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.c index 98330f7a95..18a3894d31 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11UXX/serial_api.c @@ -73,8 +73,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } switch (uart) { case UART_0: obj->index = 0; break; diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c index 815f918ac5..7fc8168884 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC11XX_11CXX/serial_api.c @@ -82,8 +82,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } switch (uart) { case UART_0: obj->index = 0; break; diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC13XX/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC13XX/serial_api.c index 1e8da47b82..5020afc54b 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC13XX/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC13XX/serial_api.c @@ -85,8 +85,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } switch (uart) { case UART_0: obj->index = 0; break; diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC176X/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC176X/serial_api.c index 7972edab33..32da943249 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC176X/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC176X/serial_api.c @@ -120,8 +120,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } switch (uart) { case UART_0: obj->index = 0; break; diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC23XX/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC23XX/serial_api.c index 18af9ce64c..12142ab59f 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC23XX/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC23XX/serial_api.c @@ -96,8 +96,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } switch (uart) { case UART_0: obj->index = 0; break; diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC408X/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC408X/serial_api.c index 4ab422312c..210353d11c 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC408X/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC408X/serial_api.c @@ -104,8 +104,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } switch (uart) { case UART_0: obj->index = 0; break; diff --git a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC43XX/serial_api.c b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC43XX/serial_api.c index 85792efd73..b7202613c5 100644 --- a/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC43XX/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_NXP/TARGET_LPC43XX/serial_api.c @@ -143,8 +143,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { pinmap_pinout(rx, PinMap_UART_RX); // set rx/tx pins in PullUp mode - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } switch (uart) { case UART_0: obj->index = 0; break; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F051R8/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F051R8/serial_api.c index ff3b99b536..02b79fc74f 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F051R8/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F051R8/serial_api.c @@ -99,8 +99,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F303VC/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F303VC/serial_api.c index 49be61d89e..9518c56beb 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F303VC/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_DISCO_F303VC/serial_api.c @@ -114,8 +114,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/serial_api.c index 9c23d6ac82..2197e5991e 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F030R8/serial_api.c @@ -107,8 +107,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F072RB/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F072RB/serial_api.c index 9adac0f767..d39180d035 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F072RB/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F072RB/serial_api.c @@ -128,8 +128,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/serial_api.c index fb304f3089..cae2b4bd0e 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/serial_api.c @@ -128,8 +128,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F334R8/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F334R8/serial_api.c index 5539aa5ccc..0f9b83ca57 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F334R8/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F334R8/serial_api.c @@ -125,8 +125,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/serial_api.c index 4f94f26fec..ef7f07b279 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F401RE/serial_api.c @@ -111,8 +111,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/serial_api.c index 29c3ff229b..4a1d060cc1 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F411RE/serial_api.c @@ -115,8 +115,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L053R8/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L053R8/serial_api.c index fe1151dc83..d189a7f7de 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L053R8/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L053R8/serial_api.c @@ -126,8 +126,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L152RE/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L152RE/serial_api.c index 68fc1bc6f3..dba504828c 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L152RE/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L152RE/serial_api.c @@ -126,8 +126,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F3XX/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F3XX/serial_api.c index f8408aabbd..aac406dec7 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F3XX/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F3XX/serial_api.c @@ -108,8 +108,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600; diff --git a/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F407VG/serial_api.c b/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F407VG/serial_api.c index f6955a1ac3..c1a0768e93 100644 --- a/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F407VG/serial_api.c +++ b/libraries/mbed/targets/hal/TARGET_STM/TARGET_STM32F407VG/serial_api.c @@ -104,8 +104,12 @@ void serial_init(serial_t *obj, PinName tx, PinName rx) { // Configure the UART pins pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); - pin_mode(tx, PullUp); - pin_mode(rx, PullUp); + if (tx != NC) { + pin_mode(tx, PullUp); + } + if (rx != NC) { + pin_mode(rx, PullUp); + } // Configure UART obj->baudrate = 9600;