Tool/software: TI C/C++ Compiler
Hello,
I am using ADC0/1 in MCU domain. I have confiured the ADC to continuous mode.
My FIFO threshold is configured to 64:
configStatus = ADCSetCPUFIFOThresholdLevel(adc[i].baseAddress,
ADC_FIFO_NUM_0, 64U);
I read the data in 1s period:
for (i = 0; i < NUM_OF_ADC; i++)
{
intrStatus = ADCGetIntrStatus(adc[i].baseAddress);
while(!(ADC_INTR_SRC_END_OF_SEQUENCE == (intrStatus & ADC_INTR_SRC_END_OF_SEQUENCE)))
{
intrStatus = ADCGetIntrStatus(adc[i].baseAddress);
}
fifoWordCnt = ADCGetFIFOWordCount(adc[i].baseAddress, ADC_FIFO_NUM_0);
for (index = 0; index < fifoWordCnt; index++)
{
fifoData_x = ADCGetFIFOData(adc[i].baseAddress, ADC_FIFO_NUM_0);
stepID = ((fifoData_x & ADC_FIFODATA_ADCCHNLID_MASK) >>
ADC_FIFODATA_ADCCHNLID_SHIFT);
fifoData_x = ((fifoData_x & ADC_FIFODATA_ADCDATA_MASK) >>
ADC_FIFODATA_ADCDATA_SHIFT);
voltageLvl = fifoData_x * (uint32_t) ADC_REF_VOLTAGE;
voltageLvl /= (uint32_t) ADC_MAX_RANGE;
fifoData[i][stepID] = fifoData_x;
appLogPrintf("\ni is %d:Channel %d: Voltage Level is %dmV", i, stepID, voltageLvl);
}
}
Currently, the print log showed several times and then ended. I want to know if the FIFO will overflow if configured to continuous mode? Should I clean the buffer after each read?
Please show us how, thank you!