MODSERIAL with support for more devices
Fork of MODSERIAL by
Diff: Device/MODSERIAL_KL05Z.h
- Revision:
- 34:e84b8ad1d98b
diff -r f42def64c4ee -r e84b8ad1d98b Device/MODSERIAL_KL05Z.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Device/MODSERIAL_KL05Z.h Tue Apr 29 23:09:48 2014 +0000 @@ -0,0 +1,20 @@ +#if defined(TARGET_KL05Z) + +#define MODSERIAL_IRQ_REG ((UARTLP_Type*)_base)->C2 +#define DISABLE_TX_IRQ MODSERIAL_IRQ_REG &= ~(1UL << UARTLP_C2_TIE_SHIFT) +#define DISABLE_RX_IRQ MODSERIAL_IRQ_REG &= ~(1UL << UARTLP_C2_RIE_SHIFT) +#define ENABLE_TX_IRQ MODSERIAL_IRQ_REG |= (1UL << UARTLP_C2_TIE_SHIFT) +#define ENABLE_RX_IRQ MODSERIAL_IRQ_REG |= (1UL << UARTLP_C2_RIE_SHIFT) + +#define MODSERIAL_READ_REG ((UARTLP_Type*)_base)->D +#define MODSERIAL_WRITE_REG ((UARTLP_Type*)_base)->D +#define MODSERIAL_READABLE ((((UARTLP_Type*)_base)->S1 & (1UL<<5)) != 0) +#define MODSERIAL_WRITABLE ((((UARTLP_Type*)_base)->S1 & (1UL<<7)) != 0) + +#define RESET_TX_FIFO while(0 == 1) +#define RESET_RX_FIFO while(MODSERIAL_READABLE) char dummy = MODSERIAL_READ_REG + +#define RX_IRQ_ENABLED ((MODSERIAL_IRQ_REG & (1UL << UARTLP_C2_RIE_SHIFT)) != 0 ) +#define TX_IRQ_ENABLED ((MODSERIAL_IRQ_REG & (1UL << UARTLP_C2_TIE_SHIFT)) != 0 ) + +#endif \ No newline at end of file