1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-19 23:22:16 +03:00

Small cleanup to SPI write16 and write32 for big-endian

Merge a common line.
This commit is contained in:
Richard Allen 2017-06-03 00:37:45 -05:00 committed by Ivan Grokhotkov
parent 5b5ba1a6be
commit c07c8dc88e

View File

@ -343,12 +343,11 @@ void SPIClass::write16(uint16_t data, bool msb) {
if(msb) { if(msb) {
// MSBFIRST Byte first // MSBFIRST Byte first
SPI1W0 = (data >> 8) | (data << 8); SPI1W0 = (data >> 8) | (data << 8);
SPI1CMD |= SPIBUSY;
} else { } else {
// LSBFIRST Byte first // LSBFIRST Byte first
SPI1W0 = data; SPI1W0 = data;
SPI1CMD |= SPIBUSY;
} }
SPI1CMD |= SPIBUSY;
while(SPI1CMD & SPIBUSY) {} while(SPI1CMD & SPIBUSY) {}
} }
@ -367,13 +366,10 @@ void SPIClass::write32(uint32_t data, bool msb) {
} data_; } data_;
data_.l = data; data_.l = data;
// MSBFIRST Byte first // MSBFIRST Byte first
SPI1W0 = (data_.b[3] | (data_.b[2] << 8) | (data_.b[1] << 16) | (data_.b[0] << 24)); data = (data_.b[3] | (data_.b[2] << 8) | (data_.b[1] << 16) | (data_.b[0] << 24));
SPI1CMD |= SPIBUSY; }
} else {
// LSBFIRST Byte first
SPI1W0 = data; SPI1W0 = data;
SPI1CMD |= SPIBUSY; SPI1CMD |= SPIBUSY;
}
while(SPI1CMD & SPIBUSY) {} while(SPI1CMD & SPIBUSY) {}
} }