uart0.c

来自「协调器的执行程序」· C语言 代码 · 共 37 行

C
37
字号
#include "uart0.h"

int usart_putchar(char c)
{
       
	if(c=='\n')
		usart_putchar('\r');
	loop_until_bit_is_set(UCSR0A,UDRE0);
	UDR0=c;
	//OS_uwait(16);*/
	return 0;
}
//-----------------------------------------------------------
int usart_putbyte(uint8_t  c)
{
	
	loop_until_bit_is_set(UCSR0A,UDRE0);
	UDR0=c;
	return 0;
}

//-----------------------------------------------------------
int usart_getchar(void)
{
	loop_until_bit_is_set(UCSR0A,RXC0);
	return UDR0;
}

void IoInit(void)
{
	//UART初始化
	UCSR0B=_BV(RXEN0)|_BV(TXEN0);/*(1<<RXCIE)|(1<<TXCIE)|*/
	UBRR0L=8;	//57600 baud 
	
	//i/o流UART连接
	fdevopen(usart_putchar,usart_getchar,0);	
}

⌨️ 快捷键说明

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