X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c05c7c7df46a0377db8a72cb32f06aa40153d3e1..03ee87b35abdb8b92e8b55ec040fa943f9a6786c:/Projects/XPLAINBridge/Lib/SoftUART.h?ds=inline diff --git a/Projects/XPLAINBridge/Lib/SoftUART.h b/Projects/XPLAINBridge/Lib/SoftUART.h index d992966c0..7dbf2d56b 100644 --- a/Projects/XPLAINBridge/Lib/SoftUART.h +++ b/Projects/XPLAINBridge/Lib/SoftUART.h @@ -1,22 +1,23 @@ /* - - soft_uart - - Copyright John Steggall 2009 - + LUFA Library + Copyright (C) Dean Camera, 2010. + + dean [at] fourwalledcubicle [dot] com + www.fourwalledcubicle.com */ - /* - Copyright 2009 John Steggall (steggall.j@gmail.com) - - Permission to use, copy, modify, and distribute this software - and its documentation for any purpose and without fee is hereby - granted, provided that the above copyright notice appear in all - copies and that both that the copyright notice and this - permission notice and warranty disclaimer appear in supporting - documentation, and that the name of the author not be used in - advertising or publicity pertaining to distribution of the + Copyright 2010 David Prentice (david.prentice [at] farming [dot] uk) + Copyright 2010 Peter Danneger + Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the software without specific, written prior permission. The author disclaim all warranties with regard to this @@ -29,31 +30,31 @@ this software. */ -/* - Specifically designed for the xplain board, other uses could be made by furkling through the code - and replacing the port and pin assignments. Also relies on and external interupt to detect the low - level of the start bit, in this case INT0. - Always configured to 9600baud. Can be changed by setting the BITLENGTH define to F_CPU/(desired baud) - code may need optimising when getting any faster to sample the bit in the correct place. No - compensation has been made for the response time of the int routine. - */ - -#ifndef UART_SOFT_H -#define UART_SOFT_H +#ifndef _SOFT_UART_ +#define _SOFT_UART_ - /* initialises software uart and enables transmit */ - extern void SoftUART_Init(void); + /* Includes: */ + #include + #include + #include "SoftUART.h" - /* checks if there is a byte in the receive buffer*/ - extern unsigned char SoftUART_IsReceived(void); + /* Macros: */ + #define BAUD 9600 + #define BIT_TIME (uint16_t)((F_CPU + (BAUD / 2)) / BAUD) - /* returns the received byte */ - extern unsigned char SoftUART_RxByte(void); + #define SRX PD0 + #define SRXPIN PIND + #define SRXPORT PORTD - /* starts a byte send and returns the byte to be sent */ - extern unsigned char SoftUART_TxByte(unsigned char data); + #define STX PD1 + #define STXPORT PORTD + #define STXDDR DDRD - /* Simulates polling UDRE to see if tx buffer is empty and ready */ - extern unsigned char SoftUART_IsReady(void); + /* Function Prototypes: */ + unsigned char SoftUART_IsReady(void); + unsigned char SoftUART_TxByte(unsigned char c); + unsigned char SoftUART_IsReceived(void); + unsigned char SoftUART_RxByte(void); + void SoftUART_Init(void); -#endif +#endif \ No newline at end of file