28 lines
585 B
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;
|
|
} |