terminal/uart.c

28 lines
585 B
C

/*
* uart.c
*
* Created: 13.04.2023 15:32:02
* Author: mrnek
*/
#include <avr/io.h>
#include "uart.h"
void USART_Init(unsigned int ubrr) {
/*Set baud rate */
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
UBRR0H = 0;
UBRR0L = 8;
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
/* Enable receiver and transmitter */
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
}
void USART_Transmit(unsigned char data) {
/* Wait for empty transmit buffer */
while (!(UCSR0A & (1<<UDREn)))
;
/* Put data into buffer, sends the data */
UDR0 = data;
}