MODSERIAL with support for more devices

Fork of MODSERIAL by Erik -

Committer:
cduck
Date:
Wed Apr 26 06:50:40 2017 +0000
Revision:
43:8c8d13e1840b
Parent:
39:8ef4f91813fd
Update device definitions to be compatible with current versions of mbed; ; Replaces _serial.index with _serial.serial.index if DEVICE_SERIAL_ASYNCH is #defined.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sissors 39:8ef4f91813fd 1 #if defined (TARGET_KPSDK_MCUS)
chaegle 34:e84b8ad1d98b 2
chaegle 34:e84b8ad1d98b 3 #define MODSERIAL_IRQ_REG ((UART_Type*)_base)->C2
chaegle 34:e84b8ad1d98b 4 #define DISABLE_TX_IRQ MODSERIAL_IRQ_REG &= ~(1UL << UART_C2_TIE_SHIFT)
chaegle 34:e84b8ad1d98b 5 #define DISABLE_RX_IRQ MODSERIAL_IRQ_REG &= ~(1UL << UART_C2_RIE_SHIFT)
chaegle 34:e84b8ad1d98b 6 #define ENABLE_TX_IRQ MODSERIAL_IRQ_REG |= (1UL << UART_C2_TIE_SHIFT)
chaegle 34:e84b8ad1d98b 7 #define ENABLE_RX_IRQ MODSERIAL_IRQ_REG |= (1UL << UART_C2_RIE_SHIFT)
chaegle 34:e84b8ad1d98b 8
chaegle 34:e84b8ad1d98b 9 #define MODSERIAL_READ_REG ((UART_Type*)_base)->D
chaegle 34:e84b8ad1d98b 10 #define MODSERIAL_WRITE_REG ((UART_Type*)_base)->D
chaegle 34:e84b8ad1d98b 11 #define MODSERIAL_READABLE ((((UART_Type*)_base)->S1 & (1UL<<5)) != 0)
chaegle 34:e84b8ad1d98b 12 #define MODSERIAL_WRITABLE ((((UART_Type*)_base)->S1 & (1UL<<7)) != 0)
chaegle 34:e84b8ad1d98b 13
chaegle 34:e84b8ad1d98b 14 #define RESET_TX_FIFO while(0 == 1)
chaegle 34:e84b8ad1d98b 15 #define RESET_RX_FIFO while(MODSERIAL_READABLE) char dummy = MODSERIAL_READ_REG
chaegle 34:e84b8ad1d98b 16
chaegle 34:e84b8ad1d98b 17 #define RX_IRQ_ENABLED ((MODSERIAL_IRQ_REG & (1UL << UART_C2_RIE_SHIFT)) != 0 )
chaegle 34:e84b8ad1d98b 18 #define TX_IRQ_ENABLED ((MODSERIAL_IRQ_REG & (1UL << UART_C2_TIE_SHIFT)) != 0 )
chaegle 34:e84b8ad1d98b 19
chaegle 34:e84b8ad1d98b 20 #endif