Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jp7g21
duck
Commits
c27b5a21
Commit
c27b5a21
authored
Nov 13, 2021
by
Xoaquin Castrelo
Browse files
Added support for UART.
parent
3ed5a13e
Changes
2
Hide whitespace changes
Inline
Side-by-side
emb/uart.cpp
0 → 100644
View file @
c27b5a21
#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
}
emb/uart.hpp
0 → 100644
View file @
c27b5a21
#ifndef UART_H
#define UART_H
/**
* Initialises the UART logic.
*/
void
initUart
();
#endif
/* UART_H */
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment