summaryrefslogtreecommitdiffstats
path: root/sw/programmer/avr/usart.h
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2017-11-23 14:34:55 +0100
committerNao Pross <naopross@thearcway.org>2017-11-23 14:34:55 +0100
commit141137dfe5bdc7400d5cc1ad388b670f9f2e9446 (patch)
treebef58de3c44787dadb22ec9cf452a3606ddd6708 /sw/programmer/avr/usart.h
parentImprovements in PIO driver, pio test rewritten in inline asm (diff)
downloadz80uPC-141137dfe5bdc7400d5cc1ad388b670f9f2e9446.tar.gz
z80uPC-141137dfe5bdc7400d5cc1ad388b670f9f2e9446.zip
update cpld files from VHDL dev machine and delete programmer code (unused)
Diffstat (limited to 'sw/programmer/avr/usart.h')
-rw-r--r--sw/programmer/avr/usart.h96
1 files changed, 0 insertions, 96 deletions
diff --git a/sw/programmer/avr/usart.h b/sw/programmer/avr/usart.h
deleted file mode 100644
index 0cf85f2..0000000
--- a/sw/programmer/avr/usart.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef __USART_H__
-#define __USART_H__
-/***
- * USART REGISTERS {{{
- *
- * UCSR: control and status regisers, composed from 3 registers:
- * +------------------------------------------------------------------------+
- * | UCSRA :| RXC | TXC | UDRE | FE | DOR | PE | U2X | MPCM |
- * +------------------------------------------------------------------------+
- * UCSRA is a status register (read only)
- * Relevant bits:
- * - RXC : set to 1 if data is present on the receive buffer
- * - TXC : set to 1 when data is transferred to the transfer register
- * - UDRE: set to 1 when trasmit buffer is empty (data sent)
- * +------------------------------------------------------------------------+
- * | UCSRB :| RXCIE | TXCIE | UDRIE | RXEN | TXEN | UCSZ2 | RXB8 | TXB8 |
- * +------------------------------------------------------------------------+
- * UCSRB is used to setup hardware configuration
- * Relevant bits:
- * - RXCIE: RX complete interrupt enabled when set to 1
- * - TXCIE: TX complete interrupt enabled when set to 1
- * - UDRIE: data register empty interrupt enabled when set to 1
- * - RXEN : uart receiver enabled when set to 1
- * - TXEN : uart transmitter enabled when set to 1
- * +------------------------------------------------------------------------+
- * | UCSRC :| URSEL | UMSEL | UPM1 | UPM0 | USBS | UCSZ1 | UCSZ0 | UCPOL |
- * +------------------------------------------------------------------------+
- * UCSRB is used to setup protocol configuration
- * Relevant bits:
- * - URSEL: register select (location is shared with UBRRH and UCSRC)
- * - UMSEL: mode select
- * 1 -> synchronous
- * 0 -> asynchronous
- * - UMP1 + UPM0: set parity
- * 00 -> no parity
- * 01 -> reserved
- * 10 -> even
- * 11 -> odd
- * - UCSZ2 + UCSZ1 + UCSZ0: set data frame (char size)
- * 000 -> 5 bit
- * 001 -> 6 bit
- * 010 -> 7 bit
- * 011 -> 8 bit
- * 100 to 110 -> reserved
- * 111 -> 9 bit
- *
- * UBRR: baudrate register
- * +------------------------------------------------------------------------+
- * | UBRRH :| URSEL | | | | UBRR11| UBRR10| UBRR9 | UBRR8 |
- * +------------------------------------------------------------------------+
- * | UBRRL :| UBRR7 | UBRR6 | UBRR5 | UBRR4 | UBRR3 | UBRR2 | UBRR1 | UBRR0 |
- * +------------------------------------------------------------------------+
- * UBRR is composed of 2 8 bit registers to store a 12 bit baudrate value.
- * The value to be stored in this register is calculated with the following
- * formula (approximate to integer):
- * UBRR = ( XTAL_frequency ) / ( 16 * BAUDRATE ) -1
- *
- * in C code corresponds to:
- * #define USART_BAUDRATE 9600
- * #define BAUD_PRESCALE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)
- *
- * Relevant bits:
- * - URSEL: register select (location is share with UCSRC)
- *
- * UDR : data register
- * This register is shared between RX and TX
- *
- * }}}
- */
-
-#include <stdint.h>
-#include <stdlib.h>
-
-#include <avr/io.h>
-
-#define USART_TIMEOUT 50000
-
-// struct usart_conf
-// {
-// uint16_t baudrate;
-// };
-
-void usart_init(uint16_t baudrate);
-// void usart_init_conf(struct usart_conf *conf);
-
-void usart_send_byte(uint8_t data);
-void usart_send(uint8_t *data, size_t len);
-
-void usart_print(char *str);
-
-int usart_read_byte(uint8_t *byte);
-uint8_t usart_read_byte_nt(void);
-size_t usart_read(uint8_t *buffer, size_t len);
-int uart_read_line(uint8_t *buffer, size_t len);
-
-#endif