summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/ao.h4
-rw-r--r--src/teleshield-v0.1/ao_ardu_serial.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/core/ao.h b/src/core/ao.h
index 494993f1..8c5335c4 100644
--- a/src/core/ao.h
+++ b/src/core/ao.h
@@ -943,6 +943,10 @@ ao_serial_init(void);
#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);
diff --git a/src/teleshield-v0.1/ao_ardu_serial.c b/src/teleshield-v0.1/ao_ardu_serial.c
index 7d4dc0db..7ff859af 100644
--- a/src/teleshield-v0.1/ao_ardu_serial.c
+++ b/src/teleshield-v0.1/ao_ardu_serial.c
@@ -23,6 +23,8 @@ ao_ardu_serial_recv(void)
char c;
for (;;) {
+ if (ao_fifo_empty(ao_usart0_rx_fifo))
+ flush();
c = ao_serial0_getchar();
putchar (c);
}