void AdcInit(void) { InitAdc(); EALLOW; // 1.?????????????,????????? AdcRegs.ADCSAMPLEMODE.all = 0; // 2.????????? AdcRegs.ADCCTL1.bit.TEMPCONV = 1; // 3.??SOCx??????,[??]????RESULT_XXX??? AdcRegs.ADCSOC0CTL.bit.CHSEL = CH_PFC_IT1; // ????????,?PWM?? AdcRegs.ADCSOC1CTL.bit.CHSEL = CH_PFC_IT1; // CH_PFC_IN_IAC; AdcRegs.ADCSOC2CTL.bit.CHSEL = CH_PFC_IT1; // CH_PFC_IN_IAC AdcRegs.ADCSOC3CTL.bit.CHSEL = CH_PFC_IT2; // CH_PFC_IN_IAC; AdcRegs.ADCSOC4CTL.bit.CHSEL = CH_PFC_IT2; // CH_PFC_IN_IAC; AdcRegs.ADCSOC5CTL.bit.CHSEL = CH_PFC_VAC_L; AdcRegs.ADCSOC6CTL.bit.CHSEL = CH_PFC_VAC_L; //result_6 AdcRegs.ADCSOC7CTL.bit.CHSEL = CH_PFC_VAC_N; AdcRegs.ADCSOC8CTL.bit.CHSEL = CH_PFC_VAC_N; //result_8 AdcRegs.ADCSOC9CTL.bit.CHSEL = CH_VBULK; // ????????? AdcRegs.ADCSOC10CTL.bit.CHSEL = CH_VBULK; //result_10 AdcRegs.ADCSOC11CTL.bit.CHSEL = CH_NTC_AMB; AdcRegs.ADCSOC12CTL.bit.CHSEL = CH_NTC_LLC; AdcRegs.ADCSOC13CTL.bit.CHSEL = CH_PFC_IN_IAC; AdcRegs.ADCSOC14CTL.bit.CHSEL = CH_LLC_DRV_UDC; AdcRegs.ADCSOC15CTL.bit.CHSEL = CH_NTC_PFC; //pfc?? // 4. ??SOCx??? //debug: ???????????? AdcRegs.ADCSOC0CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCA; //PFC????? AdcRegs.ADCSOC1CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCA; //IT1 AdcRegs.ADCSOC2CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCA; //IT1 AdcRegs.ADCSOC3CTL.bit.TRIGSEL = ADCTRIG_EPWM2_SOCA; //IT2 AdcRegs.ADCSOC4CTL.bit.TRIGSEL = ADCTRIG_EPWM2_SOCA; //IT2 AdcRegs.ADCSOC5CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCA; AdcRegs.ADCSOC6CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCA; AdcRegs.ADCSOC7CTL.bit.TRIGSEL = ADCTRIG_EPWM2_SOCA; AdcRegs.ADCSOC8CTL.bit.TRIGSEL = ADCTRIG_EPWM2_SOCA; //?LLC??pwm?? AdcRegs.ADCSOC9CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCA; //?LLC??pwm?? AdcRegs.ADCSOC10CTL.bit.TRIGSEL = ADCTRIG_EPWM1_SOCA; AdcRegs.ADCSOC11CTL.bit.TRIGSEL = ADCTRIG_CPU_TINT0; AdcRegs.ADCSOC12CTL.bit.TRIGSEL = ADCTRIG_CPU_TINT0; AdcRegs.ADCSOC13CTL.bit.TRIGSEL = ADCTRIG_CPU_TINT0; AdcRegs.ADCSOC14CTL.bit.TRIGSEL = ADCTRIG_CPU_TINT0; AdcRegs.ADCSOC15CTL.bit.TRIGSEL = ADCTRIG_CPU_TINT0; // 5. ??????(???? = ACQPS_Value + 1) #define ACQPS_Value 8 AdcRegs.ADCSOC0CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC1CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC2CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC3CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC4CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC5CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC6CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC7CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC8CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC9CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC10CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC11CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC12CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC13CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC14CTL.bit.ACQPS = ACQPS_Value; AdcRegs.ADCSOC15CTL.bit.ACQPS = ACQPS_Value; #undef ACQPS_Value // 6. ?????????:??0 & 1 : ?????????,??????,?????PWM?? AdcRegs.SOCPRICTL.bit.SOCPRIORITY = PRIORITY_SOC0_8; // 7. ??????????: ????? AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1;//?????? // 8. ??ADC????SOCx AdcRegs.ADCINTSOCSEL1.all = 0; AdcRegs.ADCINTSOCSEL2.all = 0; //=============================================================== // ????8?????????INT1 // // 9. ?????????? AdcRegs.INTSEL1N2.bit.INT1SEL = ADC_EOC08; //L_N???? // 10. ??????,???????????,??????? AdcRegs.INTSEL1N2.bit.INT1E = 1; //CT1 // AdcRegs.INTSEL1N2.bit.INT2E = 1; //CT2 // 11. ??????,???????????????????? AdcRegs.INTSEL1N2.bit.INT1CONT = 0; EDIS; //=============================================================== DELAY_US(1000L);