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
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;
}

Loading…
Cancel
Save