uart.c

来自「用ATMAGE16写的对AVR进行仿真和下载的程序」· C语言 代码 · 共 47 行

C
47
字号
#include "Include.H"

//UART0 initialisation
//desired baud rate: 115200
//actual: baud rate:115200 (0.0%)
//char size: 8 bit
//parity: Disabled
void uart0_init(void)
{
	UCSRB = 0x00;						//disable while setting baud rate
	UCSRA = 0x00;
	UCSRC = MASK(URSEL) | MASK(UCSZ1) | MASK(UCSZ0);
	UBRRH = 0x00;						//set baud rate hi
	UBRRL = 0x03;						//set baud rate lo
	UCSRB = MASK(RXEN) | MASK(TXEN);
}

#ifndef REMOVE_AVRPROG_SUPPORT
void uart0_release(void)
{
	UCSRB = 0x00;						//disable while setting baud rate
	UCSRA = 0x00;
	UCSRC = 0x00;
	UBRRH = 0x00;						//set baud rate hi
	UBRRL = 0x00;						//set baud rate lo
}
#endif

char getchar(void)
{
	while (!TSTB(UCSRA, RXC));
	return(UDR);
}

void putchar(char cData)
{
	while (!TSTB(UCSRA, UDRE));
	UDR = cData;
}

void putstr(char* p)
{
	while (*p != '\0')
	{
		putchar(*p++);
	}
}

⌨️ 快捷键说明

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