MODSERIAL with support for more devices

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

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MODSERIAL_NUCLEO_F401RE.h Source File

MODSERIAL_NUCLEO_F401RE.h

00001 #if defined(TARGET_NUCLEO_F401RE)
00002 
00003 #define MODSERIAL_IRQ_REG ((USART_TypeDef*)_base)->CR1
00004 #define DISABLE_TX_IRQ MODSERIAL_IRQ_REG &= ~USART_CR1_TXEIE
00005 #define DISABLE_RX_IRQ MODSERIAL_IRQ_REG &= ~USART_CR1_RXNEIE
00006 #define ENABLE_TX_IRQ MODSERIAL_IRQ_REG |= USART_CR1_TXEIE
00007 #define ENABLE_RX_IRQ MODSERIAL_IRQ_REG |= USART_CR1_RXNEIE
00008 
00009 #define MODSERIAL_READ_REG ((USART_TypeDef*)_base)->DR
00010 #define MODSERIAL_WRITE_REG ((USART_TypeDef*)_base)->DR
00011 #define MODSERIAL_READABLE ((((USART_TypeDef*)_base)->SR & USART_SR_RXNE) != 0)
00012 #define MODSERIAL_WRITABLE ((((USART_TypeDef*)_base)->SR & USART_SR_TXE) != 0)
00013 
00014 #define RESET_TX_FIFO while(0 == 1)
00015 #define RESET_RX_FIFO while(MODSERIAL_READABLE) char dummy = MODSERIAL_READ_REG
00016 
00017 #define RX_IRQ_ENABLED ((MODSERIAL_IRQ_REG & USART_CR1_RXNEIE) != 0)
00018 #define TX_IRQ_ENABLED ((MODSERIAL_IRQ_REG & USART_CR1_TXEIE) != 0)
00019 
00020 #endif