X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/6553bf5bfb70c26574047b0c4518a024a65b1bc8..db73b11244c2c5dc444f3c459d6823be8d1fe655:/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c?ds=inline diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c index e9e92f99a..797fa3655 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPProtocol.c @@ -69,10 +69,11 @@ void ISPProtocol_EnterISPMode(void) ISPTarget_EnableTargetISP(); ISPTarget_ChangeTargetResetLine(true); + ISPProtocol_DelayMS(Enter_ISP_Params.PinStabDelayMS); /* Continuously attempt to synchronize with the target until either the number of attempts specified * by the host has exceeded, or the the device sends back the expected response values */ - while (Enter_ISP_Params.SynchLoops-- && (ResponseStatus != STATUS_CMD_OK) && !(TimeoutExpired)) + while (Enter_ISP_Params.SynchLoops-- && !(TimeoutExpired)) { uint8_t ResponseBytes[4]; @@ -86,12 +87,14 @@ void ISPProtocol_EnterISPMode(void) if (!(Enter_ISP_Params.PollIndex) || (ResponseBytes[Enter_ISP_Params.PollIndex - 1] == Enter_ISP_Params.PollValue)) { ResponseStatus = STATUS_CMD_OK; + break; } else { ISPTarget_ChangeTargetResetLine(false); ISPProtocol_DelayMS(Enter_ISP_Params.PinStabDelayMS); ISPTarget_ChangeTargetResetLine(true); + ISPProtocol_DelayMS(Enter_ISP_Params.PinStabDelayMS); } }