www.pudn.com > vxworks0108.rar > serial.c
/*
modification history
--------------------
2003-4-14,deng xindong dxd-2000@163.net
*/
#include "ns16550.h"
#include "type.h"
#include "vg4.h"
#define CONFIG_CONS_INDEX 1
#if CONFIG_CONS_INDEX == 1
static NS16550_t console = (NS16550_t) M1543C_COM1_IO_ADRS;
#elif CONFIG_CONS_INDEX == 2
static NS16550_t console = (NS16550_t) M1543C_COM2_IO_ADRS;
#else
#error no valid console defined
#endif
void
serial_init (unsigned long dummy, int baudrate)
{
int clock_divisor = CFG_NS16550_CLK / 16 / baudrate;
NS16550_init(console, clock_divisor);
}
void
serial_putc(const char c)
{
if (c == '\n')
NS16550_putc(console, '\r');
NS16550_putc(console, c);
}
void
serial_puts (const char *s)
{
while (*s) {
serial_putc (*s++);
}
}
int
serial_getc(void)
{
return NS16550_getc(console);
}
int
serial_tstc(void)
{
return NS16550_tstc(console);
}
void
serial_setbrg (unsigned long dummy, int baudrate)
{
int clock_divisor = CFG_NS16550_CLK / 16 / baudrate;
NS16550_reinit(console, clock_divisor);
}