Kaynağa Gözat

fix(spi): 修复SPI通讯问题,CS低位使能,高位关闭

CN\zhangkai71 2 yıl önce
ebeveyn
işleme
b5659a0d5b

+ 0 - 1
User project/1.FrameLayer/Source/FSM_1st.c

@@ -186,7 +186,6 @@ void SysRdy_hook(void)
                 cp_stFlg.RotateDirectionSelect = MC_UpcInfo.stTestParaInfo.RotateDirectionSelect;
                 cp_stFlg.TestParaInfoUpdateFlg = FALSE;
             }
-
             scm_voSpdCtrMdCoef();
             alm_voCoef();
             cp_stFlg.ParaMotorDriveUpdateFinishFlg = FALSE;

+ 12 - 12
User project/1.FrameLayer/Source/TimeTask_Event.c

@@ -295,18 +295,18 @@ void Event_10ms(void)
 //           Signal_detect();
           
             /* Use upper computer */
-//            if(cp_stFlg.RotateDirectionSelect == ForwardRotate)
-//            {
-//                uart_slSpdRefRpm = ((SLONG)MC_MotorSPD_rpm_Percent*5000)/100;
-//            }
-//            else if(cp_stFlg.RotateDirectionSelect == BackwardRotate)
-//            {
-//                uart_slSpdRefRpm = -((SLONG)MC_MotorSPD_rpm_Percent*5000)/100;
-//            }
-//            else
-//            {
-//            	//do nothing
-//            }
+            if(cp_stFlg.RotateDirectionSelect == ForwardRotate)
+            {
+                uart_slSpdRefRpm = ((SLONG)MC_MotorSPD_rpm_Percent*5000)/100;
+            }
+            else if(cp_stFlg.RotateDirectionSelect == BackwardRotate)
+            {
+                uart_slSpdRefRpm = -((SLONG)MC_MotorSPD_rpm_Percent*5000)/100;
+            }
+            else
+            {
+            	//do nothing
+            }
       
              if(abs((int32_t)uart_slSpdRefRpm) < 300)
              {

+ 1 - 1
User project/1.FrameLayer/Source/tbs.c

@@ -41,7 +41,7 @@ Revising History (ECL of this file):
 void tbs_voIsr(void)
 {
     /* Alarm detect */
-    alm_voDetecTBS(&alm_stIn, &alm_stDetectTbsCoef);
+//    alm_voDetecTBS(&alm_stIn, &alm_stDetectTbsCoef);
 
     /* 1st FSM */
     FSM1st_Sys_state.Tbs_hook();

+ 0 - 155
User project/2.MotorDrive/Source/adc.c

@@ -100,54 +100,6 @@ void adc_voCalibration(ADC_COF *cof, ADC_DOWN_OUT *out1, ADC_UP_OUT *out2)
                     out2->blADCCalibFlg = TRUE;
                 }
             }
-            else if(cp_stFlg.CurrentSampleModelSelect == SINGLERESISITANCE)
-            {
-                if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
-                {
-                    out1->ulIdcRegSum += iAdc_GetResultPointer(2)[HW_ADC_IDC_CH] + adc_uwADDMAPhase2;
-                    out1->uwADCCalibCt++;
-                }
-                else if (out2->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
-                {
-                    out2->uwADCCalibCt++;
-                }
-                else
-                {
-                    hw_voPWMInit();
-                    cof->uwIdcOffset = (UWORD)(out1->ulIdcRegSum >> (ADC_CALIB_INDEX + 1));
-                    out1->ulIdcRegSum = 0;
-                    out1->uwADCCalibCt = 0;
-                    out1->blADCCalibFlg = TRUE;
-                    out2->uwADCCalibCt = 0;
-                    out2->blADCCalibFlg = TRUE;
-                }
-            }
-            else if(cp_stFlg.CurrentSampleModelSelect == RDSON)
-            {
-                if (out1->uwADCCalibCt < (1 << ADC_CALIB_INDEX))
-                {
-                    out1->ulIaRegSum += iAdc_GetResultPointer(1)[HW_ADC_IA_CH];
-                    out1->ulIbRegSum += iAdc_GetResultPointer(1)[HW_ADC_IB_CH];
-                    out1->ulIcRegSum += iAdc_GetResultPointer(1)[HW_ADC_IC_CH];
-                    out1->uwADCCalibCt++;
-                }
-                else
-                {
-                    hw_voPWMInit();
-                    
-                    cof->uwIaOffset =  (UWORD)(out1->ulIaRegSum >> (ADC_CALIB_INDEX));
-                    cof->uwIbOffset =  (UWORD)(out1->ulIbRegSum >> (ADC_CALIB_INDEX));
-                    cof->uwIcOffset =  (UWORD)(out1->ulIcRegSum >> (ADC_CALIB_INDEX));
-
-                    out1->ulIaRegSum = 0;
-                    out1->ulIbRegSum = 0;
-                    out1->ulIcRegSum = 0;
-                    out1->uwADCCalibCt = 0;
-                    out1->blADCCalibFlg = TRUE;
-                    out2->uwADCCalibCt = 0;
-                    out2->blADCCalibFlg = TRUE;
-                }
-            }
             else
             {
             	//do noting
@@ -183,113 +135,6 @@ void adc_voSampleDown(const ADC_COF *cof, ADC_DOWN_OUT *out) /* parasoft-suppres
         out->swIbPu = (SWORD)((out->slSampIbPu * (SLONG)cof->uwCalibcoef) >> 10);
         out->swIcPu = (SWORD)((out->slSampIcPu * (SLONG)cof->uwCalibcoef) >> 10);
     }
-    else if(cp_stFlg.CurrentSampleModelSelect == SINGLERESISITANCE)
-    {
-        SWORD tmp_swIphase1, tmp_swIphase2, tmp_swIphase3;
-
-        /* Register value */
-        out->uwFirstCurREG = iAdc_GetResultPointer(2)[HW_ADC_IDC_CH];  // Q12
-        //out->uwSecondCurREG = adc_uwADDMAPhase2; // Q12
-
-        tmp_swIphase1 = (SWORD)out->uwFirstCurREG - (SWORD)cof->uwIdcOffset;
-        tmp_swIphase1 = (SWORD)((tmp_swIphase1 * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
-        tmp_swIphase2 = (SWORD)cof->uwIdcOffset - (SWORD)out->uwSecondCurREG;
-        tmp_swIphase2 = (SWORD)((tmp_swIphase2 * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
-        tmp_swIphase3 = (SWORD)out->uwSecondCurREG - (SWORD)out->uwFirstCurREG;
-        tmp_swIphase3 = (SWORD)((tmp_swIphase3 * (SLONG)cof->uwCurIdcReg2Pu) >> 10); // Q14=Q24-Q10
-
-        out->uwADCSector = pwm_stGenOut.uwNewSectorNum;
-        switch (pwm_stGenOut.uwNewSectorNum)
-        {
-            case 1:
-                out->swIbPu = tmp_swIphase1; // v
-                out->swIcPu = tmp_swIphase2; //-w
-                out->swIaPu = tmp_swIphase3; // u
-                break;
-            case 2:
-                out->swIaPu = tmp_swIphase1; // u
-                out->swIbPu = tmp_swIphase2; //-v
-                out->swIcPu = tmp_swIphase3;
-                break;
-            case 3:
-                out->swIaPu = tmp_swIphase1; // u
-                out->swIcPu = tmp_swIphase2; //-w
-                out->swIbPu = tmp_swIphase3;
-                break;
-            case 4:
-                out->swIcPu = tmp_swIphase1; // w
-                out->swIaPu = tmp_swIphase2; //-u
-                out->swIbPu = tmp_swIphase3;
-                break;
-            case 5:
-                out->swIbPu = tmp_swIphase1; // v
-                out->swIaPu = tmp_swIphase2; //-u
-                out->swIcPu = tmp_swIphase3;
-                break;
-            case 6:
-                out->swIcPu = tmp_swIphase1; // w
-                out->swIbPu = tmp_swIphase2; //-v
-                out->swIaPu = tmp_swIphase3;
-                break;
-            default:
-                out->swIaPu = 0;
-                out->swIbPu = 0;
-                out->swIcPu = 0;
-                break;
-        }
-    }
-    else if(cp_stFlg.CurrentSampleModelSelect == RDSON)
-    {
-       SWORD tmp_swIphase1, tmp_swIphase2, tmp_swIphase3;
-        out->uwIaReg = iAdc_GetResultPointer(1)[HW_ADC_IA_CH];
-        out->uwIbReg = iAdc_GetResultPointer(1)[HW_ADC_IB_CH];
-        out->uwIcReg = iAdc_GetResultPointer(1)[HW_ADC_IC_CH];
-
-        tmp_swIphase1 = (SWORD)-(((SWORD)out->uwIaReg - (SWORD)cof->uwIaOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
-        tmp_swIphase2 = (SWORD)-(((SWORD)out->uwIbReg - (SWORD)cof->uwIbOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
-        tmp_swIphase3 = (SWORD)-(((SWORD)out->uwIcReg - (SWORD)cof->uwIcOffset) * (SLONG)cof->uwCurReg2Pu >> 10); // Q14=Q24-Q10
-
-        switch (pwm_stGenOut.uwSampleArea)
-        {
-        case IgnoreNone:
-            out->swIaPu = tmp_swIphase1;
-            out->swIbPu = tmp_swIphase2;
-            out->swIcPu = tmp_swIphase3;
-            break;
-        case IgnoreA:
-            out->swIaPu = -tmp_swIphase2 - tmp_swIphase3;
-            out->swIbPu = tmp_swIphase2;
-            out->swIcPu = tmp_swIphase3;
-            break;
-        case IgnoreB:
-            out->swIaPu = tmp_swIphase1;
-            out->swIbPu = -tmp_swIphase1 - tmp_swIphase3;
-            out->swIcPu = tmp_swIphase3;
-            break;
-        case IgnoreC:
-            out->swIaPu = tmp_swIphase1;
-            out->swIbPu = tmp_swIphase2;
-            out->swIcPu = tmp_swIphase3;
-            break;
-        case IgnoreAB:
-            out->swIaPu = -tmp_swIphase3 >> 1;
-            out->swIbPu = -tmp_swIphase3 >> 1;
-            out->swIcPu = tmp_swIphase3;
-            break;
-        case IgnoreBC:
-            out->swIaPu = tmp_swIphase1;
-            out->swIbPu = -tmp_swIphase1 >> 1;
-            out->swIcPu = -tmp_swIphase1 >> 1;
-            break;
-        case IgnoreAC:
-            out->swIaPu = -tmp_swIphase2 >> 1;
-            out->swIbPu = tmp_swIphase2;
-            out->swIcPu = -tmp_swIphase2 >> 1;
-            break;
-        default:
-            break;
-        } 
-    }
     else
     {
     	//do nothing

+ 22 - 23
User project/3.BasicFunction/Source/spi_master.c

@@ -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
         {

+ 1 - 11
User project/4.BasicHardwSoftwLayer/1.BasicHardwLayer/Source/hwsetup.c

@@ -1121,20 +1121,10 @@ void hw_voInitInt(void)
 void hw_voEnInt(void)
 {
     /* ADC group conversion Interrupts enable */
-    if(cp_stFlg.CurrentSampleModelSelect == SINGLERESISITANCE)
-    {
-        adc_interrupt_enable(ADC1 , ADC_INT_EOIC);
-    }
-    else if(cp_stFlg.CurrentSampleModelSelect == RDSON)
-    {
-        adc_interrupt_enable(ADC0 , ADC_INT_EOIC);
-    }
-    else if(cp_stFlg.CurrentSampleModelSelect == COMBINATION)
+    if(cp_stFlg.CurrentSampleModelSelect == COMBINATION)
     {
         adc_interrupt_enable(ADC0 , ADC_INT_EOIC);
         adc_interrupt_enable(ADC1 , ADC_INT_EOIC);
-        
-        
          //adc_interrupt_enable(ADC1 , ADC_INT_EOC);
     }
     else

+ 0 - 123
User project/5.Api_rt/api_rt_adc.c

@@ -97,128 +97,5 @@ void iAdc_EnableConversionInterrupt(uint8_t devIndex)
 
 }
 
-void iAdc_EnableHardwareTrigger(uint8_t devIndex);
-void iAdc_DisableHardwareTrigger(uint8_t devIndex);void iAdc_Enable(uint8_t devIndex)
-{
-    if(RESET == (ADC_CTL1(Adcs[devIndex].AdcBase) & ADC_CTL1_ADCON)){
-        ADC_CTL1(Adcs[devIndex].AdcBase) |= (uint32_t)ADC_CTL1_ADCON;
-    }   
-}
-
-void iAdc_Disable(uint8_t devIndex)
-{
-    ADC_CTL1(Adcs[devIndex].AdcBase) &= ~((uint32_t)ADC_CTL1_ADCON);
-}
-
-ApiAdc_Status iAdc_GetStatus(uint8_t devIndex)
-{
-     if (ADC_STAT(Adcs[devIndex].AdcBase) & ADC_STAT_EOC != 0)
-    {
-        return ApiAdc_End;
-    }
-    else
-    {
-        return ApiAdc_Converting;
-    }
-}
-
-void iAdc_Convert(uint8_t devIndex)
-{
-  //for regular only
-    ADC_CTL1(Adcs[devIndex].AdcBase) |= ADC_CTL1_SWRCST;
-}
-
-int8_t iAdc_ChannelGroupSwitch(uint8_t devIndex, uint8_t groupIndex)
-{
-    return 0;
-}
-
-void iAdc_EnableConversionInterrupt(uint8_t devIndex)
-{
-
-}
-
-void iAdc_EnableHardwareTrigger(uint8_t devIndex);
-void iAdc_DisableHardwareTrigger(uint8_t devIndex);void iAdc_Enable(uint8_t devIndex)
-{
-    if(RESET == (ADC_CTL1(Adcs[devIndex].AdcBase) & ADC_CTL1_ADCON)){
-        ADC_CTL1(Adcs[devIndex].AdcBase) |= (uint32_t)ADC_CTL1_ADCON;
-    }   
-}
-
-void iAdc_Disable(uint8_t devIndex)
-{
-    ADC_CTL1(Adcs[devIndex].AdcBase) &= ~((uint32_t)ADC_CTL1_ADCON);
-}
-
-ApiAdc_Status iAdc_GetStatus(uint8_t devIndex)
-{
-     if (ADC_STAT(Adcs[devIndex].AdcBase) & ADC_STAT_EOC != 0)
-    {
-        return ApiAdc_End;
-    }
-    else
-    {
-        return ApiAdc_Converting;
-    }
-}
-
-void iAdc_Convert(uint8_t devIndex)
-{
-  //for regular only
-    ADC_CTL1(Adcs[devIndex].AdcBase) |= ADC_CTL1_SWRCST;
-}
-
-int8_t iAdc_ChannelGroupSwitch(uint8_t devIndex, uint8_t groupIndex)
-{
-    return 0;
-}
-
-void iAdc_EnableConversionInterrupt(uint8_t devIndex)
-{
-
-}
-
-void iAdc_EnableHardwareTrigger(uint8_t devIndex);
-void iAdc_DisableHardwareTrigger(uint8_t devIndex);void iAdc_Enable(uint8_t devIndex)
-{
-    if(RESET == (ADC_CTL1(Adcs[devIndex].AdcBase) & ADC_CTL1_ADCON)){
-        ADC_CTL1(Adcs[devIndex].AdcBase) |= (uint32_t)ADC_CTL1_ADCON;
-    }   
-}
-
-void iAdc_Disable(uint8_t devIndex)
-{
-    ADC_CTL1(Adcs[devIndex].AdcBase) &= ~((uint32_t)ADC_CTL1_ADCON);
-}
-
-ApiAdc_Status iAdc_GetStatus(uint8_t devIndex)
-{
-     if (ADC_STAT(Adcs[devIndex].AdcBase) & ADC_STAT_EOC != 0)
-    {
-        return ApiAdc_End;
-    }
-    else
-    {
-        return ApiAdc_Converting;
-    }
-}
-
-void iAdc_Convert(uint8_t devIndex)
-{
-  //for regular only
-    ADC_CTL1(Adcs[devIndex].AdcBase) |= ADC_CTL1_SWRCST;
-}
-
-int8_t iAdc_ChannelGroupSwitch(uint8_t devIndex, uint8_t groupIndex)
-{
-    return 0;
-}
-
-void iAdc_EnableConversionInterrupt(uint8_t devIndex)
-{
-
-}
-
 void iAdc_EnableHardwareTrigger(uint8_t devIndex);
 void iAdc_DisableHardwareTrigger(uint8_t devIndex);

+ 1 - 1
User project/5.Api_rt/api_rt_gpio.c

@@ -11,7 +11,7 @@ Gpio_Handle const Gpios[GPIO_PIN_COUNT] = {
     [6] = {.GpioBase = GPIOC, .Index = 14},
     [7] = {.GpioBase = GPIOC, .Index = 10},
     [8] = {.GpioBase = GPIOC, .Index = 11},
-    [9] = {.GpioBase = GPIOC, .Index = 2},
+    [9] = {.GpioBase = GPIOD, .Index = 2},
     [10] = {.GpioBase = GPIOB, .Index = 9},
     [11] = {.GpioBase = GPIOB, .Index = 8},
     [12] = {.GpioBase = GPIOA, .Index = 12},