[英]AVR mega2560 uart example errors
当我尝试编译 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 未声明的错误。 为什么会这样?
谢谢!
我通过还包含 <avr/io.h>、添加一些名称并实现 init_uart function 来解决它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.