X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c05c7c7df46a0377db8a72cb32f06aa40153d3e1..d6e3259f8bd0daadb8d6a01017cfab00cd73f17b:/Projects/XPLAINBridge/Lib/SoftUART.h diff --git a/Projects/XPLAINBridge/Lib/SoftUART.h b/Projects/XPLAINBridge/Lib/SoftUART.h index d992966c0..844c8960e 100644 --- a/Projects/XPLAINBridge/Lib/SoftUART.h +++ b/Projects/XPLAINBridge/Lib/SoftUART.h @@ -1,14 +1,15 @@ /* - - soft_uart - - Copyright John Steggall 2009 - + LUFA Library + Copyright (C) Dean Camera, 2009. + + dean [at] fourwalledcubicle [dot] com + www.fourwalledcubicle.com */ - /* - Copyright 2009 John Steggall (steggall.j@gmail.com) + Copyright 2009 David Prentice (david.prentice [at] farming [dot] uk) + Copyright 2009 Peter Danneger + Copyright 2009 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby @@ -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