diff --git a/SPIFlash.cpp b/SPIFlash.cpp index 63642a2..fa6ffd4 100644 --- a/SPIFlash.cpp +++ b/SPIFlash.cpp @@ -179,7 +179,7 @@ void SPIFlash::command(uint8_t cmd, boolean isWrite){ // that is because some chips can take several seconds to carry out a chip erase or other similar multi block or entire-chip operations // a recommended alternative to such situations where chip can be or not be present is to add a 10k or similar weak pulldown on the // open drain MISO input which can read noise/static and hence return a non 0 status byte, causing the while() to hang when a flash chip is not present - while(busy()); + if (cmd != SPIFLASH_WAKE) while(busy()); select(); SPI.transfer(cmd); }