MODSERIAL with support for more devices

Dependents:   1D-Pong BMT-K9_encoder BMT-K9-Regelaar programma_filter ... more

Check the cookbook page for more information: https://mbed.org/cookbook/MODSERIAL

Did you add a device? Please send a pull request so we can keep everything in one library instead of many copies. In that case also send a PM, since currently mbed does not inform of new pull requests. I will then also add you to the developers of this library so you can do other changes directly.

Device/MODSERIAL_LPC1768.h

Committer:
riaancillie
Date:
2019-05-05
Revision:
46:d2a5e26fd658
Parent:
28:76793a84f9e5

File content as of revision 46:d2a5e26fd658:

#if defined(TARGET_LPC1768)

#define MODSERIAL_IRQ_REG ((LPC_UART_TypeDef*)_base)->IER
#define DISABLE_TX_IRQ MODSERIAL_IRQ_REG &= ~(1UL << 1)
#define DISABLE_RX_IRQ MODSERIAL_IRQ_REG &= ~(1UL << 0)
#define ENABLE_TX_IRQ MODSERIAL_IRQ_REG |= (1UL << 1)
#define ENABLE_RX_IRQ MODSERIAL_IRQ_REG |= (1UL << 0)

#define RESET_TX_FIFO ((LPC_UART_TypeDef*)_base)->FCR |= (1UL<<2)
#define RESET_RX_FIFO ((LPC_UART_TypeDef*)_base)->FCR |= (1UL<<1)

#define MODSERIAL_READ_REG ((LPC_UART_TypeDef*)_base)->RBR
#define MODSERIAL_WRITE_REG ((LPC_UART_TypeDef*)_base)->THR
#define MODSERIAL_READABLE ((((LPC_UART_TypeDef*)_base)->LSR & (1UL<<0)) != 0)
#define MODSERIAL_WRITABLE ((((LPC_UART_TypeDef*)_base)->LSR & (1UL<<5)) != 0)

#define RX_IRQ_ENABLED true
#define TX_IRQ_ENABLED true

#endif