|
@@ -25,7 +25,8 @@
|
|
|
Included File
|
|
|
*************************************************************************/
|
|
|
#include "user.h"
|
|
|
-
|
|
|
+#include "spi_master.h"
|
|
|
+#include "api_rt.h"
|
|
|
/*************************************************************************
|
|
|
Exported Functions (N/A)
|
|
|
*************************************************************************/
|
|
@@ -293,14 +294,15 @@ void spi_voResolver(const SPI_RESOLVER_COEF *coef, SPI_RESOLVER_OUT *out)
|
|
|
void spi_voResolverLock(void)
|
|
|
{
|
|
|
/* CS signal enable */
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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 */
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
}
|
|
|
/*************************************************************************
|
|
|
Function:
|
|
@@ -318,45 +320,45 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
UWORD SPI_DelayCnt1 = 0, SPI_DelayCnt2 = 0;
|
|
|
|
|
|
/* Read the BCT register value */
|
|
|
- IO_SPI2_NSS_ENABLE; /*!< CS signal enable,for data update */
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel); /*!< 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)
|
|
|
{}
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadBCTReg = spi_i2s_data_receive(SPI2); /*!< Read the first time */
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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)
|
|
|
{}
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
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 */
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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)
|
|
|
{}
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadETXY = spi_i2s_data_receive(SPI2); /*!< Read the first time */
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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)
|
|
|
{}
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
while (spi_i2s_flag_get(SPI2, SPI_FLAG_RBNE) != SET)
|
|
|
{}
|
|
|
uwReadETXY = spi_i2s_data_receive(SPI2); /*!< Read the ETX ETY value */
|
|
@@ -374,14 +376,14 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
//if (spi_blWriteRegFinishFlg == FALSE)
|
|
|
{
|
|
|
/* Write and Read BCT value*/
|
|
|
- IO_SPI2_NSS_ENABLE; // Data update
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel); // 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);
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
while (SPI_DelayCnt2 < 20)
|
|
|
{
|
|
@@ -392,23 +394,23 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
SPI_DelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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);
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
/* Write and Read ETX or ETY */
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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);
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
SPI_DelayCnt2 = 0;
|
|
|
while (SPI_DelayCnt2 < 20)
|
|
@@ -420,24 +422,24 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
SPI_DelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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);
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
|
|
|
/* Write and Read RD value*/
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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);
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
/* Delay at least 22ms */
|
|
|
SPI_DelayCnt2 = 0;
|
|
|
while (SPI_DelayCnt2 < 20)
|
|
@@ -449,14 +451,14 @@ void spi_voReadWriteSeneorReg(void) /* parasoft-suppress METRICS-28 "本项目
|
|
|
SPI_DelayCnt1 = 0;
|
|
|
}
|
|
|
}
|
|
|
- IO_SPI2_NSS_ENABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_HighLevel);
|
|
|
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);
|
|
|
- IO_SPI2_NSS_DISABLE;
|
|
|
+ iGpio_Write(HW_GPIO_SPICS_PIN,iGpio_LowLevel);
|
|
|
|
|
|
if (uwWriteBCTReg == 0x3000 && uwWriteETXY == 0x0100 && uwWriteRD == 0x8000) // MSB
|
|
|
{
|