+/* Default putchar and getchar to the serial port\r
+\r
+ Written By - Jesus Calvino-Fraga (October/2006)\r
+\r
+ This library is free software; you can redistribute it and/or\r
+ modify it under the terms of the GNU Lesser General Public\r
+ License as published by the Free Software Foundation; either\r
+ version 2.1 of the License, or (at your option) any later version.\r
+\r
+ This library is distributed in the hope that it will be useful,\r
+ but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+ Lesser General Public License for more details.\r
+\r
+ You should have received a copy of the GNU Lesser General Public\r
+ License along with this library; if not, write to the Free Software\r
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+*/\r
+\r
+#ifdef SDCC_mcs51\r
+#include <8051.h>\r
+\r
+bit serial_init_flag=0;\r
+\r
+void init_serial (void)\r
+{\r
+ TR1=0;\r
+ TMOD=(TMOD&0x0f)|0x20;\r
+ PCON|=0x80;\r
+ TH1=TL1=0xff; //115200 baud with a 22MHz crystal \r
+ TR1=1;\r
+ SCON=0x52;\r
+ serial_init_flag=1;\r
+}\r
+\r
+void putchar (char c)\r
+{\r
+ if(!serial_init_flag) init_serial();\r
+ if (c=='\n')\r
+ {\r
+ while (!TI);\r
+ TI=0;\r
+ SBUF='\r';\r
+ }\r
+ while (!TI);\r
+ TI=0;\r
+ SBUF=c;\r
+}\r
+\r
+char getchar (void)\r
+{\r
+ char c;\r
+ \r
+ if(!serial_init_flag) init_serial();\r
+\r
+ while (!RI);\r
+ RI=0;\r
+ c=SBUF;\r
+ return c;\r
+}\r
+#endif\r