Mine
public text v1 · immutablevoid uart_putc(char c) {
if (UART_TX_OK && (tx_wr == tx_rd)) {
UDR = c;
} else {
while (TX_INCR(tx_wr, 1) == tx_rd) ;
tx_buf[tx_wr] = c;
tx_wr = TX_INCR(tx_wr, 1);
}
}
void uart_init(void) {
tx_wr = tx_rd = 0;
/* set baudrate */
//UBRRL = (((F_CPU) / (16 * MIDI_BAUD)) - 1);
//UBRRL = 51; // 9600 @ 8mhz
UBRRL = 15; // 31250kbps @ 8mhz
/* enable TX, interrupts */
UCSRB = _BV(TXEN) | _BV(TXCIE);
/* enable 2x mode */
//UCSRA = _BV(U2X);
sei();
}