+2006-10-24 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
+
+ * device/lib/serial_io.c: Default putchar() and getchar() for
+ mcs51 uses serial port.
+
2006-10-23 Maarten Brock <sourceforge.brock AT dse.nl>
* src/mcs51/gen.c (movc): improved check for 0 and 1, see RFE 1582704
SOURCES = _autobaud.c _bp.c _decdptr.c \
_gptrget.c _gptrgetc.c _gptrput.c \
_ser.c _setjmp.c \
- serial.c ser_ir.c \
+ serial.c serial_io.c ser_ir.c \
_atof.c _atoi.c _atol.c _itoa.c _ltoa.c \
_schar2fs.c _sint2fs.c _slong2fs.c \
_uchar2fs.c _uint2fs.c _ulong2fs.c \
--- /dev/null
+/* 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