/*
 * usart.asm
 *
 *  Created: 27.02.2021 16:50:22
 *   Author: ��������� �������
 */ 

 USART_Init:
	; ��������� ��������
	sts		UBRR0H,	r17
	sts		UBRR0L,	r16
	sbi		DDRC,	DDC1
	; ���������� ������ � ��������
	ldi		r16,	(1<<RXEN0)|(1<<TXEN0)
	sts		UCSR0B,	r16
	; �������� ������� �����: 8N2
	ldi		r16,	(1<<USBS0)|(3<<UCSZ00)
	sts		UCSR0C,	r16
	ret

USART_Transmit:
	; �������� ������������ ������ ��� �������� 
	lds		r16,	UCSR0A			
	sbrs	r16,	UDRE0
	rjmp	USART_Transmit

	; �������� ������ � ����� ��� �������� ������
	sts		UDR0,	r19
	ret

USART_Receive:
	; �������� ������ ��� ������
	lds		r16,	UCSR0A			
	sbrs	r16,	RXC0
	rjmp	USART_Receive

	; �������� ������ �� ������
	ldi		r19,	UDR0
	ret
	