Other Parts Discussed in Thread: TMS320F28377D, CONTROLSUITE
Tool/software: Code Composer Studio
Hello,
I am having trouble making adc_soc_continuous example works on my TMS320F28379D.
It build and compile well.
But then it seems it is not able to save the measurement in the memory.
When I plug A0 pin (pin9) on 3.3V pin I can observe AdcaResultRegs.ADCRESULT0 register up to T7 that goes to 4095 but the AdcaResults table stays at 0 while it should copy the value on the registers acording to this piece of the code:
" AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT0;
AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT1;
AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT2;
AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT3;
AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT4;
AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT5;
AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT6;
AdcaResults[resultsIndex++] = AdcaResultRegs.ADCRESULT7;"
So there is no copy in the table and the "resultsIndex" stays at 0.
when looking at the part of the code just before I have:
" //
//software force start SOC0 to SOC7
//
AdcaRegs.ADCSOCFRC1.all = 0x00FF;
//
//keep taking samples until the results buffer is full
//
while(resultsIndex < RESULTS_BUFFER_SIZE)
{
//
//wait for first set of 8 conversions to complete
//
while(0 == AdcaRegs.ADCINTFLG.bit.ADCINT3);
//
//clear both INT flags generated by first 8 conversions
//
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
AdcaRegs.ADCINTFLGCLR.bit.ADCINT3 = 1;"
and I think that my problems lay here: when looking at the Flags AdcaRegs.ADCINTFLG.bit.ADCINT3 and AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 they are always at 0.
Does someone met this problem before ?
Your help would be very much apreciated.
Thanks