5 #define BVAL(b) (CLK / (b) - 1)
7 static inline uint16_t baudval(int baud)
10 case 110: return BVAL(110);
11 case 300: return BVAL(300);
12 case 600: return BVAL(600);
13 case 1200: return BVAL(1200);
14 case 2400: return BVAL(2400);
15 case 4800: return BVAL(4800);
16 case 9600: return BVAL(9600);
17 case 14400: return BVAL(14400);
18 case 19200: return BVAL(19200);
19 case 38400: return BVAL(38400);
20 case 57600: return BVAL(57600);
21 case 115200: return BVAL(115200);
28 void ser_init(int baud)
30 REG_SERPER = baudval(baud) & 0x7fff;
34 void ser_putchar(int c)
36 REG_SERDAT = ((uint16_t)c & 0xff) | 0x100;
40 void ser_print(const char *s)