usart.c

来自「Proteus与AVR应用实例,非常好的例子」· C语言 代码 · 共 33 行

C
33
字号
#include "includes.h"
#define USART_C

int usart_putchar(char c)
{
	if (c == '\n')
		usart_putchar('\r');
	while(UCSRA & (1 << 5));   //loop_until_bit_is_set(UCSRA,5);
	UDR = c;
	return 0;

}

void init_usart(void)
{
	// 晶振频率 : 4.0MHz
	// 通信参数: 8 Data, 1 Stop, No Parity 
	// 波特率:
	// UBRRL= 0x0C    19200;
	// UBRRL= 0x19    9600;
	// UBRRL= 0x33    4800;
	// UBRRL= 0x67    2400	
	UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE);  //允许发送和接收
	UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8位数据位+1位停止位
	UBRRH=0x00; 
	UBRRL=0x19;  
	//sei();
}




⌨️ 快捷键说明

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