git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4437
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+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
#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
#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
#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
TH1=TL1=t1_reload;\r
TR1=1;\r
SCON=0x52;\r
- uart_init_flag=1;\r
}\r
\r
#endif\r