【问题标题】:AVR mega2560 uart example errorsAVR mega2560 uart 示例错误
【发布时间】: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 未声明的错误。为什么会这样?

谢谢!

【问题讨论】:

    标签: c io embedded avr


    【解决方案1】:

    我通过还包含 <avr/io.h>、添加一些名称并实现 init_uart 函数来解决它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多