* support/regression/ports/mcs51/support.c: removed race condition on TI in _putchar...
authorfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 20 Oct 2006 11:06:21 +0000 (11:06 +0000)
committerfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 20 Oct 2006 11:06:21 +0000 (11:06 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4420 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
support/regression/ports/mcs51/support.c

index f0d4d1cba8dbb01bfa62d0bc11c186c4471823e6..7e6d556aba93baca369563ddb02508a752f5d477 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-10-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * support/regression/ports/mcs51/support.c: removed race 
+       condition on TI in _putchar allowing to use serial port mode 0  
+
 2006-10-20 Borut Razem <borut.razem AT siol.net>
 
        * sebugger/mcs51/sdcdb.c: replaced isblank() with isspace()
index cec67117f98bf1a1303b9be9f4b78af652b218c6..11494da99e0a96f126dd320976aa7e507462c64e 100644 (file)
@@ -6,7 +6,7 @@ _sdcc_external_startup (void)
 {
   /* copied from device/examples/mcs51/simple2/hi.c */
   PCON = 0x80;  /* power control byte, set SMOD bit for serial port */
-  SCON = 0x40;  /* serial control byte, mode 1, RI _NOT_ active */
+  SCON = 0x00;  /* serial control byte, mode 0, RI _NOT_ active */
   TMOD = 0x21;  /* timer control mode, byte operation */
   TCON = 0;     /* timer control register, byte operation */
 
@@ -23,8 +23,8 @@ _putchar (char c)
 {
   while (!TI)
     ;
-  SBUF = c;
   TI = 0;
+  SBUF = c;
 }
 
 void