diff --git a/Avr/w5100.cpp b/Avr/w5100.cpp index 3cd7bfe..d17ad3b 100644 --- a/Avr/w5100.cpp +++ b/Avr/w5100.cpp @@ -164,6 +164,12 @@ uint16_t W5100Class::write(uint16_t _addr, const uint8_t *_buf, uint16_t _len) { #ifdef W5200 + + // Initiating a transfer of length zero results + // in the interface crashing and becoming unresponsive. + if( _len == 0 ) + return 0; + setSS(); SPI.transfer(_addr >> 8); SPI.transfer(_addr & 0xFF);