Преглед изворни кода

T4.1 make SPI CS pins be index not mask, plus Franks change to timing

The CS pins on T4.x are not like 3.x in that is you select one by index, not one or more by mask.  So changed returned values to be index (1 based)

Also while testing I pulled in Frank's change for adding delay after CS pin is logically selected.
main
Kurt Eckhardt пре 4 година
родитељ
комит
fc9159a681
2 измењених фајлова са 3 додато и 3 уклоњено
  1. +2
    -2
      SPI.cpp
  2. +1
    -1
      SPI.h

+ 2
- 2
SPI.cpp Прегледај датотеку

@@ -1341,7 +1341,7 @@ void SPIClass::setClockDivider_noInline(uint32_t clk) {
div =0;
}

_ccr = LPSPI_CCR_SCKDIV(div) | LPSPI_CCR_DBT(div/2);
_ccr = LPSPI_CCR_SCKDIV(div) | LPSPI_CCR_DBT(div/2) | LPSPI_CCR_PCSSCK(div/2);

}
//Serial.printf("SPI.setClockDivider_noInline CCR:%x TCR:%x\n", _ccr, port().TCR);
@@ -1519,7 +1519,7 @@ const SPIClass::SPI_Hardware_t SPIClass::spiclass_lpspi4_hardware = {
IOMUXC_LPSPI4_SCK_SELECT_INPUT,
10, 37, 36, // CS
3 | 0x10, 2 | 0x10, 2 | 0x10,
1, 0x2, 0x4,
1, 2, 3,
0, 0, 0,
&IOMUXC_LPSPI4_PCS0_SELECT_INPUT, 0, 0
};

+ 1
- 1
SPI.h Прегледај датотеку

@@ -1221,7 +1221,7 @@ public:
div =0;
}
_ccr = LPSPI_CCR_SCKDIV(div) | LPSPI_CCR_DBT(div/2);
_ccr = LPSPI_CCR_SCKDIV(div) | LPSPI_CCR_DBT(div/2) | LPSPI_CCR_PCSSCK(div/2);

}
//Serial.printf("SPI.beginTransaction CCR:%x TCR:%x\n", _ccr, settings.tcr);

Loading…
Откажи
Сачувај