uart.c

来自「avr单片机的api编程」· C语言 代码 · 共 35 行

C
35
字号
/****************************************
文件名:uart.c
****************************************/
#include <avr/io.h>
#include <avr/interrupt.h>
#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);     //UDRE为1,则说明发送字符为空
    UDR = c;
    return 0;
}
//初始化io口
void StdIoInit(void)
{
  UCSRB=0;
  UBRRH=0;
  UBRRL=0x2f;      //9600   

  UCSRB=_BV(TXEN);
  
  stdout = &mystdout;
  stderr = &mystdout;
  printf("Uart初始化完成!\n");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?