C语言 AVR mega2560 UART示例错误

rpppsulh  于 2023-01-12  发布在  其他
关注(0)|答案(1)|浏览(119)

当我试图编译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未声明的错误。为什么会发生这种情况?
谢谢!

ar7v8xwq

ar7v8xwq1#

我通过包含〈avr/io. h〉、添加一些名称和实现init_uart函数来解决这个问题。

相关问题