1 #include "sysutil.h" 2 3 #define COM1_BASE 0x3F8 4 #define COM1_THR (COM1_BASE + 0) 5 #define LSR_THRE 0x20 6 #define COM1_LSR (COM1_BASE + 5) 7 8 /*===========================================================================* 9 * ser_putc * 10 *===========================================================================*/ ser_putc(char c)11void ser_putc(char c) 12 { 13 u32_t b; 14 int i; 15 int lsr, thr; 16 17 lsr= COM1_LSR; 18 thr= COM1_THR; 19 for (i= 0; i<10000; i++) 20 { 21 if (sys_inb(lsr, &b) != OK) 22 return; 23 if (b & LSR_THRE) 24 break; 25 } 26 sys_outb(thr, c); 27 } 28