소스 검색

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…
취소
저장