* support/regression/ports/mcs51/support.c: removed race condition on TI in _putchar...
[fw/sdcc] / support / regression / ports / mcs51 / support.c
index 47ddf35bf636c0f83e261bc872a752ca38bb6f31..11494da99e0a96f126dd320976aa7e507462c64e 100644 (file)
@@ -6,11 +6,11 @@ _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 */
 
-  TH1  = 0xFA;  /* serial reload value, 9,600 baud at 11.0952Mhz */
+  TH1  = 0xFF;  /* serial reload value, 57,600 baud at 11.0592 MHz */
   TL1  = 0xFF;  /* reload asap */
   TR1  = 1;     /* start serial timer */
 
@@ -23,8 +23,8 @@ _putchar (char c)
 {
   while (!TI)
     ;
-  SBUF = c;
   TI = 0;
+  SBUF = c;
 }
 
 void