diff options
author | Leo C | 2018-10-02 23:59:43 +0200 |
---|---|---|
committer | Leo C | 2018-10-02 23:59:43 +0200 |
commit | 2c60e1dc26e1f424d9673541aebe778601070838 (patch) | |
tree | 7a6275db98caac0c9ca5cfb17bac73a5381c9d63 /avr/serial.c | |
parent | d2f546c134b8c7ae6e2068aaf9316bb8835c13c2 (diff) | |
download | z180-stamp-2c60e1dc26e1f424d9673541aebe778601070838.zip |
env var fmon (F_CPU)
Diffstat (limited to 'avr/serial.c')
-rw-r--r-- | avr/serial.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/avr/serial.c b/avr/serial.c index adbc3c4..d3aeb4e 100644 --- a/avr/serial.c +++ b/avr/serial.c @@ -45,15 +45,14 @@ void usart0_setup(unsigned long baud) { PRR0 &= ~_BV(PRUSART0); UCSR0B = 0; + UCSR0A = 0; + UBRR0 = (F_CPU + (baud/2) + 8) / baud / 16 - 1; + UCSR0B = _BV(RXCIE0) | _BV(RXEN0) | _BV(TXEN0); + UCSR0C = 3 << UCSZ00; /* Initialize ring buffers. */ ring_init(&rx_ring, rx_ring_buffer, BUFFER_SIZE); ring_init(&tx_ring, tx_ring_buffer, BUFFER_SIZE); - - UCSR0A = 0; - UBRR0 = F_CPU / baud / 16 - 1; - UCSR0B = _BV(RXCIE0) | _BV(RXEN0) | _BV(TXEN0); - UCSR0C = 3 << UCSZ00; }; } |