#include <avr/io.h>
#include <util/delay.h>
#define BAUD 9600
#define F_CPU 16000000UL
#define MYUBRR F_CPU/16/BAUD-1
void uart_init(unsigned int ubrr) {
// Set baud rate
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
// Aktifkan tx
UCSR0B = (1<<TXEN0);
// Set frame format: 8 data bits, 1 stop bit
UCSR0C = (1<<UCSZ01) | (1<<UCSZ00);
}
// Fungsi untuk mengirimkan satu karakter melalui UART
void uart_transmit(unsigned char data) {
// Tunggu hingga buffer transmisi kosong
while (!(UCSR0A & (1<<UDRE0)));
// Masukkan data ke buffer, yang mengirimkan data
UDR0 = data;
}
int main(void) {
// Inisialisasi UART dengan baud rate yang telah ditentukan
uart_init(MYUBRR);
while (1) {
// Kirim karakter 'u'
uart_transmit('U');
}
}