From d58a6d77a1fb9bf0fe31d3f64976415c83ab0293 Mon Sep 17 00:00:00 2001 From: SEEKFREE_BUDING <2289331269@qq.com> Date: Fri, 4 Nov 2022 18:31:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DSPI=E9=80=9A=E4=BF=A1?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8F=96=E5=8F=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iLLD/TC26B/Tricore/Qspi/Std/IfxQspi.h | 11 +++++++++-- .../Libraries/seekfree_libraries/zf_spi.c | 6 ++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Seekfree_TC264_Opensource_Library/Libraries/infineon_libraries/iLLD/TC26B/Tricore/Qspi/Std/IfxQspi.h b/Seekfree_TC264_Opensource_Library/Libraries/infineon_libraries/iLLD/TC26B/Tricore/Qspi/Std/IfxQspi.h index e7afd62..08d43b6 100644 --- a/Seekfree_TC264_Opensource_Library/Libraries/infineon_libraries/iLLD/TC26B/Tricore/Qspi/Std/IfxQspi.h +++ b/Seekfree_TC264_Opensource_Library/Libraries/infineon_libraries/iLLD/TC26B/Tricore/Qspi/Std/IfxQspi.h @@ -1239,10 +1239,17 @@ IFX_INLINE void IfxQspi_writeMixedDataTransmitFifo(Ifx_QSPI *qspi, uint32 mixEnt qspi->MIXENTRY.U = mixEntryVal; } - +extern uint8 spi_mosi_data_not; IFX_INLINE void IfxQspi_writeTransmitFifo(Ifx_QSPI *qspi, uint32 data) { - qspi->DATAENTRY[0].U = data; + if(spi_mosi_data_not) + { + qspi->DATAENTRY[0].U = ~data; + } + else + { + qspi->DATAENTRY[0].U = data; + } } diff --git a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c index b7ffe13..62ec39c 100644 --- a/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c +++ b/Seekfree_TC264_Opensource_Library/Libraries/seekfree_libraries/zf_spi.c @@ -28,6 +28,7 @@ #define MAX_BAUD 50000000 +uint8 spi_mosi_data_not; void spi_mux(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_PIN_enum miso_pin, SPI_PIN_enum cs_pin, IfxQspi_SpiMaster_Pins *set_pin, IfxQspi_SpiMaster_Output *set_cs) { @@ -312,6 +313,11 @@ void spi_init(SPIN_enum spi_n, SPI_PIN_enum sck_pin, SPI_PIN_enum mosi_pin, SPI_ MasterChConfig.sls.output = SlsoPin; IfxQspi_SpiMaster_initChannel(&MasterChHandle, &MasterChConfig); + if(mosi_pin == SPI2_MOSI_P13_2 || mosi_pin == SPI3_MOSI_P22_2) + { + spi_mosi_data_not = 1; + } + } //-------------------------------------------------------------------------------------------------------------------