Fix PDITarget_ReceiveByte() not discarding the start bit properly, and reading in the bits inverted and in the wrong order.

pull/1469/head
Dean Camera 15 years ago
parent 1e3513ed70
commit 7aecda6fda

@ -98,14 +98,16 @@ uint8_t PDITarget_ReceiveByte(void)
// One Start Bit // One Start Bit
while (PDIDATA_LINE_PIN & PDIDATA_LINE_MASK); while (PDIDATA_LINE_PIN & PDIDATA_LINE_MASK);
TOGGLE_PDI_CLOCK; TOGGLE_PDI_CLOCK;
TOGGLE_PDI_CLOCK;
// Eight Data Bits // Eight Data Bits
for (uint8_t i = 0; i < 8; i++) for (uint8_t i = 0; i < 8; i++)
{ {
if (PDIDATA_LINE_PIN & PDIDATA_LINE_MASK) if (!(PDIDATA_LINE_PIN & PDIDATA_LINE_MASK))
ReceivedByte |= 0x01; ReceivedByte |= 0x80;
ReceivedByte <<= 1; ReceivedByte >>= 1;
TOGGLE_PDI_CLOCK; TOGGLE_PDI_CLOCK;
} }

Loading…
Cancel
Save