Initialize uart only if SM0 and SM1 are zero. Also, use flag 'putchar_crlf' to turn...
[fw/sdcc] / device / lib / _putchar.c
index dec4601c2a3bb4645ab9bcaa7993c2de2243dbf0..91ab61ceda9c4d0501b26f8dc91dddff93cbccea 100644 (file)
 #ifdef SDCC_mcs51\r
 #include <8051.h>\r
 \r
-extern bit uart_init_flag;\r
+bit putchar_crlf=0;\r
 void inituart(unsigned char t1_reload);\r
 \r
 void putchar (char c)\r
 {\r
-       if(!uart_init_flag) inituart(0xff);\r
-       if (c=='\n')\r
+       if((!SM0)&&(!SM1)) inituart(0xff);\r
+       if ((c=='\n') && putchar_crlf)\r
        {\r
                while (!TI);\r
                TI=0;\r