+#ifndef HAS_SERIAL_0
+#define HAS_SERIAL_0 0
+#endif
+
+#if HAS_SERIAL_0
+
+extern volatile __xdata struct ao_fifo ao_usart0_rx_fifo;
+extern volatile __xdata struct ao_fifo ao_usart0_tx_fifo;
+
+void
+ao_serial0_rx0_isr(void) ao_arch_interrupt(2);
+
+void
+ao_serial0_tx0_isr(void) ao_arch_interrupt(7);
+
+char
+ao_serial0_getchar(void) __critical;
+
+void
+ao_serial0_putchar(char c) __critical;
+
+void
+ao_serial0_drain(void) __critical;
+
+void
+ao_serial0_set_speed(uint8_t speed);
+
+void
+ao_serial0_init(void);
+
+#endif
+
+