fix float overflow checki in printf_fast_f, bug #1525093
[fw/sdcc] / device / lib / serial.c
index a3bfc2570c02a75adf8ee6d6796112c274ffa8d7..bb48557edb74b24a271e9a2d9f1cc3adef14cac8 100644 (file)
@@ -9,7 +9,7 @@
 //----------------------------------------------------------------------------
 
 //This module contains definition of I8051 registers
-#include "8051.h"
+#include "8052.h"
 
 
 static unsigned char xdata stx_index_in, srx_index_in, stx_index_out, srx_index_out;
@@ -44,6 +44,13 @@ void serial_init(void)
 void serial_interrupt_handler(void) interrupt 4 using 1
 {
     ES=0;
+    if ( RI )
+       {
+           RI = 0;
+           srx_buffer[srx_index_in++]=SBUF;
+           work_flag_byte_arrived = 1;
+           rx_serial_buffer_empty = 0;
+       }
     if ( TI )
        {
            TI = 0;
@@ -54,13 +61,6 @@ void serial_interrupt_handler(void) interrupt 4 using 1
                }
            else SBUF = stx_buffer[stx_index_out++];
        }
-    if ( RI )
-       {
-           RI = 0;
-           srx_buffer[srx_index_in++]=SBUF;
-           work_flag_byte_arrived = 1;
-           rx_serial_buffer_empty = 0;
-       }
     ES=1;
 }