#define RXCIE RXCIE0
#define UCSRC UCSR0C
-#define URSEL
+#define URSEL
#define UCSZ0 UCSZ00
#define UCSZ1 UCSZ01
#define UCSRC_SELECT 0
void uart_putc(uint8_t c)
{
if(c == '\n')
- uart_putc('\r');
+ uart_putc('\r');
/* wait until transmit buffer is empty */
while(!(UCSRA & (1 << UDRE)));
{
/* upper nibble */
if((b >> 4) < 0x0a)
- uart_putc((b >> 4) + '0');
+ uart_putc((b >> 4) + '0');
else
- uart_putc((b >> 4) - 0x0a + 'a');
+ uart_putc((b >> 4) - 0x0a + 'a');
/* lower nibble */
if((b & 0x0f) < 0x0a)
- uart_putc((b & 0x0f) + '0');
+ uart_putc((b & 0x0f) + '0');
else
- uart_putc((b & 0x0f) - 0x0a + 'a');
+ uart_putc((b & 0x0f) - 0x0a + 'a');
}
void uart_putw_hex(uint16_t w)
while(num > 0)
{
- uint8_t b = w / num;
- if(b > 0 || started || num == 1)
- {
- uart_putc('0' + b);
- started = 1;
- }
- w -= b * num;
-
- num /= 10;
+ uint8_t b = w / num;
+ if(b > 0 || started || num == 1)
+ {
+ uart_putc('0' + b);
+ started = 1;
+ }
+ w -= b * num;
+
+ num /= 10;
}
}
while(num > 0)
{
- uint8_t b = dw / num;
- if(b > 0 || started || num == 1)
- {
- uart_putc('0' + b);
- started = 1;
- }
- dw -= b * num;
-
- num /= 10;
+ uint8_t b = dw / num;
+ if(b > 0 || started || num == 1)
+ {
+ uart_putc('0' + b);
+ started = 1;
+ }
+ dw -= b * num;
+
+ num /= 10;
}
}
void uart_puts(const char* str)
{
while(*str)
- uart_putc(*str++);
+ uart_putc(*str++);
}
void uart_puts_p(PGM_P str)
{
while(1)
{
- uint8_t b = pgm_read_byte_near(str++);
- if(!b)
- break;
+ uint8_t b = pgm_read_byte_near(str++);
+ if(!b)
+ break;
- uart_putc(b);
+ uart_putc(b);
}
}
sei();
while(!(UCSRA & (1 << RXC)))
- sleep_mode();
+ sleep_mode();
SREG = sreg;
#else
uint8_t b = UDR;
if(b == '\r')
- b = '\n';
+ b = '\n';
return b;
}