provides interface HplM16c62pUartInterrupt as Uart0;
provides interface HplM16c62pUartInterrupt as Uart1;
provides interface HplM16c62pUartInterrupt as Uart2;
+
+#ifdef THREADS
+ uses interface PlatformInterrupt;
+#define POST_AMBLE() call PlatformInterrupt.postAmble()
+#else
+#define POST_AMBLE()
+#endif
}
implementation
{
M16C_INTERRUPT_HANDLER(M16C_UART0_NACK)
{
signal Uart0.tx();
+ POST_AMBLE();
}
default async event void Uart0.rx() { }
M16C_INTERRUPT_HANDLER(M16C_UART0_ACK)
{
signal Uart0.rx();
+ POST_AMBLE();
}
M16C_INTERRUPT_HANDLER(M16C_UART1_NACK)
{
signal Uart1.tx();
+ POST_AMBLE();
}
default async event void Uart1.rx() { }
M16C_INTERRUPT_HANDLER(M16C_UART1_ACK)
{
signal Uart1.rx();
+ POST_AMBLE();
}
M16C_INTERRUPT_HANDLER(M16C_UART2_NACK)
{
signal Uart2.tx();
+ POST_AMBLE();
}
default async event void Uart2.rx() { }
M16C_INTERRUPT_HANDLER(M16C_UART2_ACK)
{
signal Uart2.rx();
+ POST_AMBLE();
}
}