Microchip® Advanced Software Framework

nlao_usart.h File Reference
#include <_ansi.h>
#include "nlao_io.h"

Data Structures

struct  usart3
 

Macros

#define US_BRGR   0x0020
 
#define US_BRGR_CD   (0xFFFF << 0)
 
#define US_BRGR_CD_OFFSET   0
 
#define US_BRGR_CD_SIZE   16
 
#define US_BRGR_FP   ( 7 << 16)
 
#define US_BRGR_FP_OFFSET   16
 
#define US_BRGR_FP_SIZE   3
 
#define US_CR   0x0000
 
#define US_CR_DTRDIS   (1 << 17)
 
#define US_CR_DTREN   (1 << 16)
 
#define US_CR_RSTRX   (1 << 2)
 
#define US_CR_RSTSTA   (1 << 8)
 
#define US_CR_RSTTX   (1 << 3)
 
#define US_CR_RTSDIS   (1 << 19)
 
#define US_CR_RTSEN   (1 << 18)
 
#define US_CR_RXDIS   (1 << 5)
 
#define US_CR_RXEN   (1 << 4)
 
#define US_CR_STPBRK   (1 << 10)
 
#define US_CR_STTBRK   (1 << 9)
 
#define US_CR_TXDIS   (1 << 7)
 
#define US_CR_TXEN   (1 << 6)
 
#define US_CSR   0x0014
 
#define US_CSR_CTS   (1 << 23)
 
#define US_CSR_CTSIC   (1 << 19)
 
#define US_CSR_DCD   (1 << 22)
 
#define US_CSR_DCDIC   (1 << 18)
 
#define US_CSR_DSR   (1 << 21)
 
#define US_CSR_DSRIC   (1 << 17)
 
#define US_CSR_ENDRX   (1 << 3)
 
#define US_CSR_ENDTX   (1 << 4)
 
#define US_CSR_FRAME   (1 << 6)
 
#define US_CSR_OVRE   (1 << 5)
 
#define US_CSR_PARE   (1 << 7)
 
#define US_CSR_RI   (1 << 20)
 
#define US_CSR_RIIC   (1 << 16)
 
#define US_CSR_RXBRK   (1 << 2)
 
#define US_CSR_RXBUFF   (1 << 12)
 
#define US_CSR_RXRDY   (1 << 0)
 
#define US_CSR_TXBUFE   (1 << 11)
 
#define US_CSR_TXEMPTY   (1 << 9)
 
#define US_CSR_TXRDY   (1 << 1)
 
#define US_FIDI   0x0040
 
#define US_IDR   0x000c
 
#define US_IER   0x0008
 
#define US_IF   0x004c
 
#define US_IMR   0x0010
 
#define US_MR   0x0004
 
#define US_MR_CHRL_5BITS   ( 0 << 6)
 
#define US_MR_CHRL_6BITS   ( 1 << 6)
 
#define US_MR_CHRL_7BITS   ( 2 << 6)
 
#define US_MR_CHRL_8BITS   ( 3 << 6)
 
#define US_MR_CLKS   ( 3 << 4)
 
#define US_MR_CLKS_CLOCK   ( 0 << 4)
 
#define US_MR_CLKS_EXT   ( 3 << 4)
 
#define US_MR_CLKS_FDIV1   ( 1 << 4)
 
#define US_MR_CLKS_SLOW   ( 2 << 4)
 
#define US_MR_MODE   (15 << 0)
 
#define US_MR_MODE_HWFLOW   ( 2 << 0)
 
#define US_MR_MODE_NORMAL   ( 0 << 0)
 
#define US_MR_NBSTOP_1_5BIT   ( 1 << 12)
 
#define US_MR_NBSTOP_1BIT   ( 0 << 12)
 
#define US_MR_NBSTOP_2BITS   ( 2 << 12)
 
#define US_MR_OVER   ( 1 << 19)
 
#define US_MR_OVER_X16   ( 0 << 19)
 
#define US_MR_OVER_X8   ( 1 << 19)
 
#define US_MR_PAR_EVEN   ( 0 << 9)
 
#define US_MR_PAR_MARK   ( 3 << 9)
 
#define US_MR_PAR_MDROP   ( 6 << 9)
 
#define US_MR_PAR_NONE   ( 4 << 9)
 
#define US_MR_PAR_ODD   ( 1 << 9)
 
#define US_MR_PAR_SPACE   ( 2 << 9)
 
#define US_MR_SYNC   ( 1 << 8)
 
#define US_NER   0x0044
 
#define US_PTCR   0x0120
 
#define US_PTCR_RXTDIS   (1 << 1)
 
#define US_PTCR_RXTEN   (1 << 0)
 
#define US_PTCR_TXTDIS   (1 << 9)
 
#define US_PTCR_TXTEN   (1 << 8)
 
#define US_PTSR   0x0124
 
#define US_PTSR_RXTEN   (1 << 0)
 
#define US_PTSR_TXTEN   (1 << 8)
 
#define US_RCR   0x0104
 
#define US_RHR   0x0018
 
#define US_RNCR   0x0114
 
#define US_RNPR   0x0110
 
#define US_RPR   0x0100
 
#define US_RTOR   0x0024
 
#define US_TCR   0x010c
 
#define US_THR   0x001c
 
#define US_TNCR   0x011c
 
#define US_TNPR   0x0118
 
#define US_TPR   0x0108
 
#define US_TTGR   0x0028
 
#define US_XXR   0x0048
 

Functions

void set_usart_base (void *usart_base)
 
int usart_getc (void)
 
int usart_init (int baudrate)
 
void usart_putc (char c)
 
void usart_puts (const char *s)
 
void usart_setbrg (int baudrate, int cpu_clock)
 
int usart_tstc (void)
 

#define US_BRGR   0x0020
#define US_BRGR_CD   (0xFFFF << 0)
#define US_BRGR_CD_OFFSET   0
#define US_BRGR_CD_SIZE   16
#define US_BRGR_FP   ( 7 << 16)
#define US_BRGR_FP_OFFSET   16
#define US_BRGR_FP_SIZE   3
#define US_CR   0x0000
#define US_CR_DTRDIS   (1 << 17)
#define US_CR_DTREN   (1 << 16)
#define US_CR_RSTRX   (1 << 2)
#define US_CR_RSTSTA   (1 << 8)
#define US_CR_RSTTX   (1 << 3)
#define US_CR_RTSDIS   (1 << 19)
#define US_CR_RTSEN   (1 << 18)
#define US_CR_RXDIS   (1 << 5)
#define US_CR_RXEN   (1 << 4)
#define US_CR_STPBRK   (1 << 10)
#define US_CR_STTBRK   (1 << 9)
#define US_CR_TXDIS   (1 << 7)
#define US_CR_TXEN   (1 << 6)
#define US_CSR   0x0014
#define US_CSR_CTS   (1 << 23)
#define US_CSR_CTSIC   (1 << 19)
#define US_CSR_DCD   (1 << 22)
#define US_CSR_DCDIC   (1 << 18)
#define US_CSR_DSR   (1 << 21)
#define US_CSR_DSRIC   (1 << 17)
#define US_CSR_ENDRX   (1 << 3)
#define US_CSR_ENDTX   (1 << 4)
#define US_CSR_FRAME   (1 << 6)
#define US_CSR_OVRE   (1 << 5)
#define US_CSR_PARE   (1 << 7)
#define US_CSR_RI   (1 << 20)
#define US_CSR_RIIC   (1 << 16)
#define US_CSR_RXBRK   (1 << 2)
#define US_CSR_RXBUFF   (1 << 12)
#define US_CSR_RXRDY   (1 << 0)
#define US_CSR_TXBUFE   (1 << 11)
#define US_CSR_TXEMPTY   (1 << 9)
#define US_CSR_TXRDY   (1 << 1)
#define US_FIDI   0x0040
#define US_IDR   0x000c
#define US_IER   0x0008
#define US_IF   0x004c
#define US_IMR   0x0010
#define US_MR   0x0004
#define US_MR_CHRL_5BITS   ( 0 << 6)
#define US_MR_CHRL_6BITS   ( 1 << 6)
#define US_MR_CHRL_7BITS   ( 2 << 6)
#define US_MR_CHRL_8BITS   ( 3 << 6)
#define US_MR_CLKS   ( 3 << 4)
#define US_MR_CLKS_CLOCK   ( 0 << 4)
#define US_MR_CLKS_EXT   ( 3 << 4)
#define US_MR_CLKS_FDIV1   ( 1 << 4)
#define US_MR_CLKS_SLOW   ( 2 << 4)
#define US_MR_MODE   (15 << 0)
#define US_MR_MODE_HWFLOW   ( 2 << 0)
#define US_MR_MODE_NORMAL   ( 0 << 0)
#define US_MR_NBSTOP_1_5BIT   ( 1 << 12)
#define US_MR_NBSTOP_1BIT   ( 0 << 12)
#define US_MR_NBSTOP_2BITS   ( 2 << 12)
#define US_MR_OVER   ( 1 << 19)
#define US_MR_OVER_X16   ( 0 << 19)
#define US_MR_OVER_X8   ( 1 << 19)
#define US_MR_PAR_EVEN   ( 0 << 9)
#define US_MR_PAR_MARK   ( 3 << 9)
#define US_MR_PAR_MDROP   ( 6 << 9)
#define US_MR_PAR_NONE   ( 4 << 9)
#define US_MR_PAR_ODD   ( 1 << 9)
#define US_MR_PAR_SPACE   ( 2 << 9)
#define US_MR_SYNC   ( 1 << 8)
#define US_NER   0x0044
#define US_PTCR   0x0120
#define US_PTCR_RXTDIS   (1 << 1)
#define US_PTCR_RXTEN   (1 << 0)
#define US_PTCR_TXTDIS   (1 << 9)
#define US_PTCR_TXTEN   (1 << 8)
#define US_PTSR   0x0124
#define US_PTSR_RXTEN   (1 << 0)
#define US_PTSR_TXTEN   (1 << 8)
#define US_RCR   0x0104
#define US_RHR   0x0018
#define US_RNCR   0x0114
#define US_RNPR   0x0110
#define US_RPR   0x0100
#define US_RTOR   0x0024
#define US_TCR   0x010c
#define US_THR   0x001c
#define US_TNCR   0x011c
#define US_TNPR   0x0118
#define US_TPR   0x0108
#define US_TTGR   0x0028
#define US_XXR   0x0048

void set_usart_base ( void *  usart_base)
int usart_getc ( void  )
int usart_init ( int  baudrate)
void usart_putc ( char  c)
void usart_puts ( const char *  s)
void usart_setbrg ( int  baudrate,
int  cpu_clock 
)
int usart_tstc ( void  )