diff --git a/libraries/SPI/src/SPI.h b/libraries/SPI/src/SPI.h index fa5beb24..a859a9f1 100644 --- a/libraries/SPI/src/SPI.h +++ b/libraries/SPI/src/SPI.h @@ -153,7 +153,7 @@ class SPIClass uint8_t transfer(uint8_t data); inline uint16_t transfer16(uint16_t data); - inline void transfer(uint8_t* buf, uint8_t count); + inline void transfer(void *buf, size_t count); // Transaction Functions // Function not used here @@ -211,14 +211,13 @@ extern SPIClass SPI; # endif #endif -void SPIClass::transfer(uint8_t *buf, uint8_t count) +void SPIClass::transfer(void *buf, size_t count) { - uint8_t buf_in[count]; - for (uint8_t i = 0; i < count; i++) + uint8_t *buffer = (uint8_t *) buf; + for (size_t index = 0; index < count; index++) { - buf_in[i] = transfer(buf[i]); + buffer[index] = transfer(buffer[index]); } - buf = buf_in; } uint16_t SPIClass::transfer16(uint16_t data)