41 #if defined(NIBO_USE_UART0) || defined (DOXYGEN)
49 #define UART0_TXBUF_SIZE 8
50 #define UART0_RXBUF_SIZE 8
58 extern uint8_t uart0_txbuf[UART0_TXBUF_SIZE];
59 extern uint8_t uart0_rxbuf[UART0_RXBUF_SIZE];
61 extern volatile uint8_t uart0_txbuf_begin;
62 extern volatile uint8_t uart0_txbuf_end;
64 extern volatile uint8_t uart0_rxbuf_begin;
65 extern volatile uint8_t uart0_rxbuf_end;
95 static inline char uart0_rxempty() {
96 return uart0_rxbuf_begin==uart0_rxbuf_end;
103 static inline char uart0_txempty() {
104 return uart0_txbuf_begin==uart0_txbuf_end;
111 static inline char uart0_rxfull() {
112 return uart0_rxbuf_end==UART0_RXBUF_SIZE;
119 static inline char uart0_txfull() {
120 return uart0_txbuf_end==UART0_TXBUF_SIZE;
127 static inline char uart0_rxavail() {
129 int s=(int)uart0_rxbuf_end-(
int)uart0_rxbuf_begin;
130 if (uart0_rxfull())
return UART0_RXBUF_SIZE;
131 return (s<0)?(UART0_RXBUF_SIZE+s):s;
138 static inline char uart0_txfree() {
140 int s=(int)uart0_txbuf_end-(
int)uart0_txbuf_begin;
141 if (uart0_txfull())
return 0;
142 return (s<0)?(-s):(UART0_TXBUF_SIZE-s);
149 #endif // NIBO_USE_UART0
150 #endif // NIBO_UART0_H_
void uart0_set_baudrate(uint16_t baud)
char uart0_putchar(char c)