| 129 |
* is empty. |
* is empty. |
| 130 |
*/ |
*/ |
| 131 |
int |
int |
| 132 |
uart_putchar(char c) |
uart_putchar(char c, FILE *unused) |
| 133 |
{ |
{ |
| 134 |
|
|
| 135 |
if (c == '\n') |
if (c == '\n') |
| 136 |
uart_putchar('\r'); |
uart_putchar('\r', 0); |
| 137 |
loop_until_bit_is_set(UCSRA, UDRE); |
loop_until_bit_is_set(UCSRA, UDRE); |
| 138 |
UDR = c; |
UDR = c; |
| 139 |
return 0; |
return 0; |
| 463 |
exit(0); |
exit(0); |
| 464 |
} |
} |
| 465 |
|
|
| 466 |
|
FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE); |
| 467 |
|
|
| 468 |
void |
void |
| 469 |
main(void) |
main(void) |
| 470 |
{ |
{ |
| 475 |
|
|
| 476 |
ioinit(); |
ioinit(); |
| 477 |
|
|
| 478 |
fdevopen(uart_putchar, NULL, 0); |
stdout = &mystdout; |
| 479 |
|
|
| 480 |
for (a = 0; a < 256;) |
for (a = 0; a < 256;) |
| 481 |
{ |
{ |