From: Dean Camera Date: Thu, 10 Dec 2009 00:54:08 +0000 (+0000) Subject: Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in... X-Git-Tag: LUFA-110528-BETA~765 X-Git-Url: http://git.linex4red.de/pub/lufa.git/commitdiff_plain/7aecda6fda5bcced68d72b0cf73d00174aa5c7cd Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in the bits inverted and in the wrong order. --- diff --git a/Projects/AVRISP/Lib/PDITarget.c b/Projects/AVRISP/Lib/PDITarget.c index 7b35a3336..a0bbf7dfa 100644 --- a/Projects/AVRISP/Lib/PDITarget.c +++ b/Projects/AVRISP/Lib/PDITarget.c @@ -98,14 +98,16 @@ uint8_t PDITarget_ReceiveByte(void) // One Start Bit while (PDIDATA_LINE_PIN & PDIDATA_LINE_MASK); TOGGLE_PDI_CLOCK; - + + TOGGLE_PDI_CLOCK; + // Eight Data Bits for (uint8_t i = 0; i < 8; i++) { - if (PDIDATA_LINE_PIN & PDIDATA_LINE_MASK) - ReceivedByte |= 0x01; + if (!(PDIDATA_LINE_PIN & PDIDATA_LINE_MASK)) + ReceivedByte |= 0x80; - ReceivedByte <<= 1; + ReceivedByte >>= 1; TOGGLE_PDI_CLOCK; }