X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/9c037a952f5aaf78c4e13398506cfa2d588bb449..a9abe1fdea5ccf67aaccab6fdde300d6fcf2d15a:/Projects/XPLAINBridge/Lib/SoftUART.h diff --git a/Projects/XPLAINBridge/Lib/SoftUART.h b/Projects/XPLAINBridge/Lib/SoftUART.h index 416490d8d..c30ad651e 100644 --- a/Projects/XPLAINBridge/Lib/SoftUART.h +++ b/Projects/XPLAINBridge/Lib/SoftUART.h @@ -1,23 +1,23 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. - + Copyright (C) Dean Camera, 2012. + dean [at] fourwalledcubicle [dot] com - www.fourwalledcubicle.com + www.lufa-lib.org */ /* Copyright 2010 David Prentice (david.prentice [at] farming [dot] uk) Copyright 2010 Peter Danneger - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) - Permission to use, copy, modify, distribute, and sell this + 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 + 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 + 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 @@ -30,6 +30,11 @@ this software. */ +/** \file + * + * Header file for SoftUART.c. + */ + #ifndef _SOFT_UART_ #define _SOFT_UART_ @@ -38,10 +43,9 @@ #include #include - /* Macros: */ - #define BAUD 9600 - #define BIT_TIME (uint16_t)((F_CPU + (BAUD / 2)) / BAUD) + #include "../XPLAINBridge.h" + /* Macros: */ #define SRX PD0 #define SRXPIN PIND #define SRXPORT PORTD @@ -50,24 +54,17 @@ #define STXPORT PORTD #define STXDDR DDRD - /* External Variables: */ - extern volatile bool srx_done; - extern volatile uint8_t stx_count; - /* Inline Functions: */ - static inline bool SoftUART_IsReady(void) + static inline void SoftUART_SetBaud(const uint32_t Baud) { - return !(stx_count); - } + uint16_t BitTime = ((F_CPU / Baud) - 1); - static inline bool SoftUART_IsReceived(void) - { - return srx_done; + OCR1A = BitTime; + OCR3A = BitTime; } /* Function Prototypes: */ - void SoftUART_TxByte(uint8_t c); - uint8_t SoftUART_RxByte(void); - void SoftUART_Init(void); + void SoftUART_Init(void); + +#endif -#endif \ No newline at end of file