【发布时间】:2023-01-11 04:30:22
【问题描述】:
当我尝试编译 nongnu avr 用户手册上的示例时,出现错误:
这是示例:
#include <stdio.h>
static int uart_putchar(char c, FILE *stream);
static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL,
_FDEV_SETUP_WRITE);
static int
uart_putchar(char c, FILE *stream)
{
if (c == '\n')
uart_putchar('\r', stream);
loop_until_bit_is_set(UCSRA, UDRE);
UDR = c;
return 0;
}
int
main(void)
{
init_uart();
stdout = &mystdout;
printf("Hello, world!\n");
return 0;
}
当我尝试编译它时,出现 UDR、UCSRA、UDRE 和 loop_until_bit_is_set 未声明的错误。为什么会这样?
谢谢!
【问题讨论】: