修复SPI通信数据取反的问题

This commit is contained in:
SEEKFREE_BUDING
2022-11-04 18:31:40 +08:00
parent 031b899220
commit d58a6d77a1
2 changed files with 15 additions and 2 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}
//-------------------------------------------------------------------------------------------------------------------