|
@@ -294,15 +294,14 @@ void spi_voResolver(const SPI_RESOLVER_COEF *coef, SPI_RESOLVER_OUT *out)
|
|
|
void spi_voResolverLock(void)
|
|
|
{
|
|
|
/* CS signal enable */
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2,0x0550);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TRANS) != RESET)
|
|
|
{}
|
|
|
/* CS signal disable */
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
}
|
|
|
/*************************************************************************
|
|
|
Function:
|
|
@@ -320,45 +319,45 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
UWORD SPI_DelayCnt1 = 0, SPI_DelayCnt2 = 0;
|
|
|
|
|
|
/* Read the BCT register value */
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel); /*!< CS signal enable,for data update */
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel); /*!< CS signal enable,for data update */
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x4200); //comp value
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TRANS) != RESET)
|
|
|
{}
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadBCTReg = spi_i2s_data_receive(SPI2); /*!< Read the first time */
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x0000); /*!< Write the second time */
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TRANS) != RESET)
|
|
|
{}
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadBCTReg = spi_i2s_data_receive(SPI2); /*!< Read the BCT register value */
|
|
|
|
|
|
/* Read the ETX ETY value */
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x4300); //comp direction
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TRANS) != RESET)
|
|
|
{}
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadETXY = spi_i2s_data_receive(SPI2); /*!< Read the first time */
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x0000); /*!< Write the second time */
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TRANS) != RESET)
|
|
|
{}
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadETXY = spi_i2s_data_receive(SPI2); /*!< Read the ETX ETY value */
|
|
@@ -376,14 +375,14 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
//if (spi_blWriteRegFinishFlg == FALSE)
|
|
|
{
|
|
|
/* Write and Read BCT value*/
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel); // Data update
|
|
|
+ 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
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwWriteBCTReg = spi_i2s_data_receive(SPI2);
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
while (SPI_DelayCnt2 < 20)
|
|
|
{
|
|
@@ -394,23 +393,23 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
SPI_DelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x0000);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwWriteBCTReg = spi_i2s_data_receive(SPI2);
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
- /* Write and Read ETX or ETY */
|
|
|
iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ /* Write and Read ETX or ETY */
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x8301);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwWriteETXY = spi_i2s_data_receive(SPI2);
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
SPI_DelayCnt2 = 0;
|
|
|
while (SPI_DelayCnt2 < 20)
|
|
@@ -422,24 +421,24 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
SPI_DelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x0000);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwWriteETXY = spi_i2s_data_receive(SPI2);
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
|
|
|
/* Write and Read RD value*/
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x8980); // RD=1,Counterclockwise,8980; RD=0,Clockwise,8900
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwWriteRD = spi_i2s_data_receive(SPI2);
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
SPI_DelayCnt2 = 0;
|
|
|
while (SPI_DelayCnt2 < 20)
|
|
@@ -451,14 +450,14 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
SPI_DelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_TBE) != SET)
|
|
|
{}
|
|
|
spi_i2s_data_transmit(SPI2, 0x0000);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwWriteRD = spi_i2s_data_receive(SPI2);
|
|
|
- iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_LowLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,ApiGpio_HighLevel);
|
|
|
|
|
|
if (uwWriteBCTReg == 0x3000 && uwWriteETXY == 0x0100 && uwWriteRD == 0x8000) // MSB
|
|
|
{
|