diff options
author | Dean Camera <[email protected]> | 2009-12-10 00:54:08 +0000 |
---|---|---|
committer | Dean Camera <[email protected]> | 2009-12-10 00:54:08 +0000 |
commit | 7aecda6fda5bcced68d72b0cf73d00174aa5c7cd (patch) | |
tree | d4711605cf9dc612ac3282877895bff295daf0ab | |
parent | 1e3513ed70565daf100aa2a3425b3912dea4d2c8 (diff) | |
download | qmk_firmware-7aecda6fda5bcced68d72b0cf73d00174aa5c7cd.tar.gz qmk_firmware-7aecda6fda5bcced68d72b0cf73d00174aa5c7cd.zip |
Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in the bits inverted and in the wrong order.
-rw-r--r-- | Projects/AVRISP/Lib/PDITarget.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/Projects/AVRISP/Lib/PDITarget.c b/Projects/AVRISP/Lib/PDITarget.c index 7b35a33360..a0bbf7dfa1 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;
}
|