Initialize uart only if SM0 and SM1 are zero. Also, use flag 'putchar_crlf' to turn...
authorjesusc <jesusc@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 26 Oct 2006 05:49:01 +0000 (05:49 +0000)
committerjesusc <jesusc@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 26 Oct 2006 05:49:01 +0000 (05:49 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4437 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
device/lib/_getchar.c
device/lib/_putchar.c
device/lib/inituart.c

index 73d8c04e6d7275ced8073e07d66214454a3a945c..0110c291aee7bca0ceaf149d37f173406511fe8f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
+
+       * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c:
+       Initialize uart only if SM0 and SM1 are zero.  Also, use flag to turn
+       on/off CR to CRLF conversion.  
+
 2006-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
        * doc/sdccman.lyx: updated IRQ section
index 2cbf71da51637aefa4685e6d1f159f9c63fa14dd..1f5f7a345c6e4fe9709634b50d2fd6677a4070b7 100644 (file)
 #ifdef SDCC_mcs51\r
 #include <8051.h>\r
 \r
-extern bit uart_init_flag;\r
 void inituart(unsigned char t1_reload);\r
 \r
 char getchar (void)\r
 {\r
        char c;\r
        \r
-       if(!uart_init_flag) inituart(0xff);\r
+       if((!SM0)&&(!SM1)) inituart(0xff);\r
 \r
        while (!RI);\r
        RI=0;\r
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
index 9a41c3d356f7ab385f88040cf32c643ff81f7b38..d9d6448d0252415ce37205f46c8659ba56407d5d 100644 (file)
@@ -20,8 +20,6 @@
 #ifdef SDCC_mcs51\r
 #include <8051.h>\r
 \r
-bit uart_init_flag=0;\r
-\r
 void inituart (unsigned char t1_reload)\r
 {\r
        TR1=0;\r
@@ -30,7 +28,6 @@ void inituart (unsigned char t1_reload)
        TH1=TL1=t1_reload;\r
        TR1=1;\r
        SCON=0x52;\r
-       uart_init_flag=1;\r
 }\r
 \r
 #endif\r