• Main Page
  • Related Pages
  • Files
  • File List
  • Globals

uart.h

Go to the documentation of this file.
00001 
00038 #ifndef _UART_H_
00039 #define _UART_H_ 1
00040 
00041 
00042 
00043 #define UART_DDR        DDRD                            ///< Data Directory Register of the desired USART
00044 #define RXPIN_bm        (1<<2)                          ///< Bitmask of the RX-Pin
00045 #define TXPIN_bm        (1<<3)                          ///< Bitmask of the TX-Pin
00046 
00047 #define UART_DATA       UDR                                     ///< USART Data Register
00048 
00049 #define RXC_vect        USART_RXC_vect          ///< RX-Complete Interrupt Vector
00050 #define DRE_vect        USART_UDRE_vect         ///< Data-Register-Empty Interrupt Vector
00051 
00056 #define UART_RX_BUFFER_SIZE             64
00057 
00062 #define UART_TX_BUFFER_SIZE     64
00063 
00064 
00079 #define UBRR_val        3
00080 
00085 #define UART_CHRSIZE_9BIT 0
00086 
00092 #define UART_PRINTF_COMPATIBILITY 1
00093 
00100 #define UART_MPCM_ENABLE 0
00101 
00106 void uart_init(void);
00107 
00119 void uart_sendbyte(uint8_t data);
00120 
00131 uint8_t uart_getbyte(uint8_t *data);
00132 
00138 uint8_t uart_senddata(uint8_t data);
00139 
00148 uint8_t uart_sendid(uint8_t data);
00149 
00150 #if UART_MPCM_ENABLE == 1
00151 
00159 uint8_t uart_senddata(uint8_t data);
00160 
00169 uint8_t uart_sendid(uint8_t data);
00170 #endif
00171 
00173 inline void uart_mpcm_en(void) {
00174         UCSRA |= (1<<MPCM);
00175 }
00176 
00178 inline void uart_mpcm_dis(void) {
00179         UCSRA &= ~(1<<MPCM);
00180 }
00181 
00183 inline void uart_udre_int_en(void) {
00184         UCSRB |= (1<<UDRIE);
00185 }
00186 
00188 inline void uart_udre_int_dis(void) {
00189         UCSRB &= ~(1<<UDRIE);
00190 }
00191 
00193 inline void uart_rxc_int_en(void) {
00194         UCSRB |= (1<<RXCIE);
00195 }
00196 
00198 inline void uart_rxc_int_dis(void) {
00199         UCSRB &= ~(1<<RXCIE);
00200 }
00201 
00202 
00203 #if UART_PRINTF_COMPATIBILITY == 1
00204 #include <stdio.h>
00205 
00220 int uart_putchar(char c, FILE *sream);
00221 
00231 int uart_getchar(FILE *stream);
00232 
00233 #endif
00234 
00235 #endif //_UART_H_

Generated on Tue Feb 15 2011 18:32:45 for UartDisplay by  doxygen 1.7.2