mbed lib with startup delay fixed for Nucleo401RE

Fork of mbed-src by mbed official

Revision:
600:7d17ca308cd1
Parent:
503:486aded571c7
--- a/targets/hal/TARGET_NXP/TARGET_LPC82X/serial_api.c	Fri Jul 31 14:00:09 2015 +0100
+++ b/targets/hal/TARGET_NXP/TARGET_LPC82X/serial_api.c	Fri Jul 31 14:15:09 2015 +0100
@@ -230,7 +230,17 @@
             break;
     }
 
-    obj->uart->CFG = (data_bits << 2)
+    // First disable the the usart as described in documentation and then enable while updating CFG
+
+    // 24.6.1 USART Configuration register
+    // Remark: If software needs to change configuration values, the following sequence should
+    // be used: 1) Make sure the USART is not currently sending or receiving data. 2) Disable
+    // the USART by writing a 0 to the Enable bit (0 may be written to the entire register). 3)
+    // Write the new configuration value, with the ENABLE bit set to 1.
+    obj->uart->CFG &= ~(1 << 0);
+
+    obj->uart->CFG = (1 << 0) // this will enable the usart
+                   | (data_bits << 2)
                    | (paritysel << 4)
                    | (stop_bits << 6);
 }