mirror of
https://github.com/arduino/Arduino.git
synced 2024-12-01 12:24:14 +01:00
Fix SPI transaction mismatch errors
This commit is contained in:
parent
37115d03ef
commit
20ca43646a
@ -157,16 +157,24 @@ uint32_t Sd2Card::cardSize(void) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
static uint8_t chip_select_asserted = 0;
|
||||||
|
|
||||||
void Sd2Card::chipSelectHigh(void) {
|
void Sd2Card::chipSelectHigh(void) {
|
||||||
digitalWrite(chipSelectPin_, HIGH);
|
digitalWrite(chipSelectPin_, HIGH);
|
||||||
#ifdef USE_SPI_LIB
|
#ifdef USE_SPI_LIB
|
||||||
SPI.endTransaction();
|
if (chip_select_asserted) {
|
||||||
|
chip_select_asserted = 0;
|
||||||
|
SPI.endTransaction();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
void Sd2Card::chipSelectLow(void) {
|
void Sd2Card::chipSelectLow(void) {
|
||||||
#ifdef USE_SPI_LIB
|
#ifdef USE_SPI_LIB
|
||||||
SPI.beginTransaction(settings);
|
if (!chip_select_asserted) {
|
||||||
|
chip_select_asserted = 1;
|
||||||
|
SPI.beginTransaction(settings);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
digitalWrite(chipSelectPin_, LOW);
|
digitalWrite(chipSelectPin_, LOW);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user