|
@@ -335,9 +335,11 @@ void spi_voResolverLock(void)
|
|
|
*************************************************************************/
|
|
|
void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目圈复杂度无法更改,后续避免" */
|
|
|
{
|
|
|
+ UWORD BCTValue = 0x30;
|
|
|
+
|
|
|
UWORD uwReadBCTReg = 0, uwReadETXY = 0;
|
|
|
UWORD uwWriteBCTReg = 0, uwWriteETXY = 0, uwWriteRD = 0;
|
|
|
- UWORD SPI_DelayCnt1 = 0, SPI_DelayCnt2 = 0;
|
|
|
+ UWORD uwDelayCnt1 = 0, uwDelayCnt2 = 0;
|
|
|
|
|
|
/* Read the BCT register value */
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel); /*!< CS signal enable,for data update */
|
|
@@ -382,7 +384,7 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadETXY = spi_i2s_data_receive(SPI2); /*!< Read the ETX ETY value */
|
|
|
- if (uwReadBCTReg == 0x3000 && uwReadETXY == 0x0100)
|
|
|
+ if (uwReadBCTReg == (BCTValue << 8) && uwReadETXY == 0x0100)
|
|
|
{
|
|
|
spi_blReadRegCorrectFlg = TRUE;
|
|
|
}
|
|
@@ -399,19 +401,19 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel); // Data update
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)// Discontinuous transmission, can not indicate send complete
|
|
|
{}
|
|
|
- spi_i2s_data_transmit(SPI2, 0x8230); // LSB,BCT=48
|
|
|
+ spi_i2s_data_transmit(SPI2, (0x8200 | BCTValue)); // LSB,BCT=48
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwWriteBCTReg = spi_i2s_data_receive(SPI2);
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
- while (SPI_DelayCnt2 < 20)
|
|
|
+ while (uwDelayCnt2 < 20)
|
|
|
{
|
|
|
- SPI_DelayCnt1++;
|
|
|
- if (SPI_DelayCnt1 == 10000)
|
|
|
+ uwDelayCnt1++;
|
|
|
+ if (uwDelayCnt1 == 10000)
|
|
|
{
|
|
|
- SPI_DelayCnt2++;
|
|
|
- SPI_DelayCnt1 = 0;
|
|
|
+ uwDelayCnt2++;
|
|
|
+ uwDelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
@@ -432,14 +434,14 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
uwWriteETXY = spi_i2s_data_receive(SPI2);
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
- SPI_DelayCnt2 = 0;
|
|
|
- while (SPI_DelayCnt2 < 20)
|
|
|
+ uwDelayCnt2 = 0;
|
|
|
+ while (uwDelayCnt2 < 20)
|
|
|
{
|
|
|
- SPI_DelayCnt1++;
|
|
|
- if (SPI_DelayCnt1 == 10000)
|
|
|
+ uwDelayCnt1++;
|
|
|
+ if (uwDelayCnt1 == 10000)
|
|
|
{
|
|
|
- SPI_DelayCnt2++;
|
|
|
- SPI_DelayCnt1 = 0;
|
|
|
+ uwDelayCnt2++;
|
|
|
+ uwDelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
@@ -461,14 +463,14 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
uwWriteRD = spi_i2s_data_receive(SPI2);
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
- SPI_DelayCnt2 = 0;
|
|
|
- while (SPI_DelayCnt2 < 20)
|
|
|
+ uwDelayCnt2 = 0;
|
|
|
+ while (uwDelayCnt2 < 20)
|
|
|
{
|
|
|
- SPI_DelayCnt1++;
|
|
|
- if (SPI_DelayCnt1 == 10000)
|
|
|
+ uwDelayCnt1++;
|
|
|
+ if (uwDelayCnt1 == 10000)
|
|
|
{
|
|
|
- SPI_DelayCnt2++;
|
|
|
- SPI_DelayCnt1 = 0;
|
|
|
+ uwDelayCnt2++;
|
|
|
+ uwDelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
@@ -480,7 +482,7 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
uwWriteRD = spi_i2s_data_receive(SPI2);
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
|
|
|
- if (uwWriteBCTReg == 0x3000 && uwWriteETXY == 0x0100 && uwWriteRD == 0x8000) // MSB
|
|
|
+ if (uwWriteBCTReg == (BCTValue << 8) && uwWriteETXY == 0x0100 && uwWriteRD == 0x8000) // MSB
|
|
|
{
|
|
|
spi_blWriteRegFinishFlg = TRUE; // Need stored in EEPROM
|
|
|
}
|