00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef UART2_H
00022 #define UART2_H
00023
00024 #include "global.h"
00025 #include "buffer.h"
00026
00027
00028
00029 #define UART0_DEFAULT_BAUD_RATE 9600
00030 #define UART1_DEFAULT_BAUD_RATE 9600
00031
00032
00033
00034 #ifndef UART0_TX_BUFFER_SIZE
00035 #define UART0_TX_BUFFER_SIZE 0x0010
00036 #endif
00037 #ifndef UART0_RX_BUFFER_SIZE
00038 #define UART0_RX_BUFFER_SIZE 0x0080
00039 #endif
00040 #ifndef UART1_TX_BUFFER_SIZE
00041 #define UART1_TX_BUFFER_SIZE 0x0010
00042 #endif
00043 #ifndef UART1_RX_BUFFER_SIZE
00044 #define UART1_RX_BUFFER_SIZE 0x0080
00045 #endif
00046
00047
00048
00049
00050 #ifdef UART_BUFFER_EXTERNAL_RAM
00051
00052 #define UART0_TX_BUFFER_ADDR 0x1000
00053 #define UART0_RX_BUFFER_ADDR 0x1100
00054
00055 #define UART1_TX_BUFFER_ADDR 0x1200
00056 #define UART1_RX_BUFFER_ADDR 0x1300
00057 #endif
00058
00059
00060
00061
00062 #ifndef UART_INTERRUPT_HANDLER
00063 #define UART_INTERRUPT_HANDLER SIGNAL
00064 #endif
00065
00066
00067 #ifndef RXCIE
00068 #define RXCIE RXCIE0
00069 #define TXCIE TXCIE0
00070 #define UDRIE UDRIE0
00071 #define RXEN RXEN0
00072 #define TXEN TXEN0
00073 #define CHR9 CHR90
00074 #define RXB8 RXB80
00075 #define TXB8 TXB80
00076 #endif
00077 #ifndef UBRR0L
00078 #define UBRR0L UBRR0
00079 #define UBRR1L UBRR1
00080 #endif
00081
00082
00083
00084
00085
00086 void uartInitBuffers(void);
00087
00088
00089 void uartInit(void);
00090
00091
00092 void uartSetRxHandler(u08 nUart, void (*rx_func)(unsigned char c));
00093
00094
00095 void uartSetBaudRate(u08 nUart, u32 baudrate);
00096
00097
00098 cBuffer* uartGetRxBuffer(u08 nUart);
00099
00100
00101 cBuffer* uartGetTxBuffer(u08 nUart);
00102
00103
00104 void uartSendByte(u08 nUart, u08 data);
00105
00106
00107 void uart0SendByte(u08 data);
00108 void uart1SendByte(u08 data);
00109
00110
00111
00112
00113
00114
00115
00116 u08 uartReceiveByte(u08 nUart, u08* data);
00117
00118
00119 u08 uartReceiveBufferIsEmpty(u08 nUart);
00120
00121
00122 void uartFlushReceiveBuffer(u08 nUart);
00123
00124
00125 void uartAddToTxBuffer(u08 nUart, u08 data);
00126
00127
00128 void uart0AddToTxBuffer(u08 data);
00129 void uart1AddToTxBuffer(u08 data);
00130
00131
00132 void uartSendTxBuffer(u08 nUart);
00133
00134
00135 u08 uartSendBuffer(u08 nUart, char *buffer, u16 nBytes);
00136
00137
00138 void uartTransmitService(u08 nUart);
00139 void uartReceiveService(u08 nUart);
00140
00141 #endif
00142