mbed library sources for airmote
Fork of mbed-src by
Diff: targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c
- Revision:
- 571:1f7ee966c9ea
- Parent:
- 489:119543c9f674
--- a/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c Wed Jun 17 08:15:08 2015 +0100 +++ b/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/serial_api.c Wed Jun 17 09:00:08 2015 +0100 @@ -62,16 +62,20 @@ UART_HAL_SetStopBitCount(uart_addrs[obj->index], kUartOneStopBit); #endif UART_HAL_SetBitCountPerChar(uart_addrs[obj->index], kUart8BitsPerChar); - UART_HAL_EnableTransmitter(uart_addrs[obj->index]); - UART_HAL_EnableReceiver(uart_addrs[obj->index]); + UART_HAL_DisableTransmitter(uart_addrs[obj->index]); + UART_HAL_DisableReceiver(uart_addrs[obj->index]); pinmap_pinout(tx, PinMap_UART_TX); pinmap_pinout(rx, PinMap_UART_RX); if (tx != NC) { + UART_HAL_FlushTxFifo(uart_addrs[obj->index]); + UART_HAL_EnableTransmitter(uart_addrs[obj->index]); + pin_mode(tx, PullUp); } if (rx != NC) { + UART_HAL_EnableReceiver(uart_addrs[obj->index]); pin_mode(rx, PullUp); } @@ -79,7 +83,6 @@ stdio_uart_inited = 1; memcpy(&stdio_uart, obj, sizeof(serial_t)); } - while(!UART_HAL_IsTxDataRegEmpty(uart_addrs[obj->index])); } void serial_free(serial_t *obj) {