Skip to content
Snippets Groups Projects
Commit c27b5a21 authored by Xoaquin Castrelo's avatar Xoaquin Castrelo
Browse files

Added support for UART.

parent 3ed5a13e
Branches
No related tags found
No related merge requests found
#include "uart.hpp"
#include "servos.hpp"
#include "command.h"
#include <avr/io.h>
#include <avr/interrupt.h>
void initUart()
{
cli();
UCSR0A = (1 << U2X0); // double transmission speed
UCSR0B = (1 << RXCIE0) // enable RX complete interrupt
| (1 << UDRIE0) // enable data register empty interrupt
| (1 << RXEN0) // enable receiver
| (1 << TXEN0); // enable transmitter
UCSR0C = (0 << UMSEL01) | (0 << UMSEL00) // asynchronous USART
| (0 << UPM01) | (0 << UPM00) // no parity bit
| (0 << USBS0) // 1 stop bit
| (1 << UCSZ01) | (1 << UCSZ00); // 8 data bits
UBRR0 = 16; // 115.2k baud rate
sei();
}
ISR(USART_RX_vect)
{
uart_add_ch(UDR0);
}
ISR(USART_UDRE_vect)
{
// nothing to do right now
}
#ifndef UART_H
#define UART_H
/**
* Initialises the UART logic.
*/
void initUart();
#endif /* UART_H */
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment