diff --git a/libraries/WiFi/arch/avr/utility/spi_drv.cpp b/libraries/WiFi/arch/avr/utility/spi_drv.cpp index b5a1d0696..306524df9 100644 --- a/libraries/WiFi/arch/avr/utility/spi_drv.cpp +++ b/libraries/WiFi/arch/avr/utility/spi_drv.cpp @@ -15,7 +15,7 @@ extern "C" { #define SLAVEREADY 7 // handshake pin #define WIFILED 9 // led on wifi shield -#define DELAY_SPI(X) { int ii=0; do { asm volatile("nop"); } while (++ii < X); } +#define DELAY_SPI(X) { int ii=0; do { asm volatile("nop"); } while (++ii < (X*F_CPU/16000000)); } #define DELAY_TRANSFER() DELAY_SPI(10) void SpiDrv::begin() diff --git a/libraries/WiFi/arch/sam/utility/spi_drv.cpp b/libraries/WiFi/arch/sam/utility/spi_drv.cpp index c037a32e4..306524df9 100644 --- a/libraries/WiFi/arch/sam/utility/spi_drv.cpp +++ b/libraries/WiFi/arch/sam/utility/spi_drv.cpp @@ -15,7 +15,7 @@ extern "C" { #define SLAVEREADY 7 // handshake pin #define WIFILED 9 // led on wifi shield -#define DELAY_SPI(X) { int ii=0; do { asm volatile("nop"); } while (++ii < X*6); } +#define DELAY_SPI(X) { int ii=0; do { asm volatile("nop"); } while (++ii < (X*F_CPU/16000000)); } #define DELAY_TRANSFER() DELAY_SPI(10) void SpiDrv::begin()