Skip to content

Commit e8ff8e7

Browse files
committed
Bugfix in Serial: serial ports other than STDIO are not enabled properly.
1 parent 9ace277 commit e8ff8e7

File tree

1 file changed

+3
-8
lines changed
  • libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32

1 file changed

+3
-8
lines changed

libraries/mbed/targets/hal/TARGET_Silicon_Labs/TARGET_EFM32/serial_api.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ serial_t stdio_uart;
6666

6767
static void uart_irq(UARTName, int, SerialIrq);
6868
uint8_t serial_get_index(serial_t *obj);
69+
void serial_enable(serial_t *obj, uint8_t enable);
70+
void serial_enable_pins(serial_t *obj, uint8_t enable);
6971
IRQn_Type serial_get_rx_irq_index(serial_t *obj);
7072
IRQn_Type serial_get_tx_irq_index(serial_t *obj);
7173
CMU_Clock_TypeDef serial_get_clock(serial_t *obj);
@@ -435,17 +437,10 @@ void serial_init(serial_t *obj, PinName tx, PinName rx)
435437
if (obj->serial.periph.uart == (USART_TypeDef*)STDIO_UART ) {
436438
stdio_uart_inited = 1;
437439
memcpy(&stdio_uart, obj, sizeof(serial_t));
438-
439-
/* enable TX and RX by default for STDIO */
440-
if(LEUART_REF_VALID(obj->serial.periph.leuart)) {
441-
obj->serial.periph.leuart->CMD = LEUART_CMD_TXEN | LEUART_CMD_RXEN;
442-
} else {
443-
obj->serial.periph.uart->CMD = USART_CMD_TXEN | USART_CMD_RXEN;
444-
}
445440
}
446441

447442
serial_enable_pins(obj, true);
448-
443+
serial_enable(obj, true);
449444

450445

451446
obj->serial.dmaOptionsTX.dmaChannel = -1;

0 commit comments

Comments
 (0)