Make WaitWhileBusy function in the AVRISP project more explicit about how it sends...
[pub/USBasp.git] / Projects / AVRISP / Lib / V2ProtocolTarget.c
index d06f065..9c6ccf4 100644 (file)
@@ -161,8 +161,9 @@ uint8_t V2Protocol_WaitWhileTargetBusy(void)
                SPI_SendByte(0x00);\r
 \r
                SPI_SendByte(0x00);\r
+               bool DeviceBusy = (SPI_ReceiveByte() & 0x01);\r
        }\r
-       while ((SPI_ReceiveByte() & 0x01) && (TCNT0 < TARGET_BUSY_TIMEOUT_MS));\r
+       while (DeviceBusy && (TCNT0 < TARGET_BUSY_TIMEOUT_MS));\r
 \r
        if (TCNT0 >= TARGET_BUSY_TIMEOUT_MS)\r
          return STATUS_RDY_BSY_TOUT;\r