ADuCM4050 ADC Multi Acquire

Hi I am using the ADC_Channel_Read example project to acquire a single buffer of data from at channel 0 of the ADC using ADuCM4x50 EZ Kit. 

My goal is to acquire  the data from the ADC continuously and to get an interrupt every time a single buffer of data is ready for the application to processes. 

I able to register a CallBack function using adi_adc_RegisterCallback. However, i am receiving an interrupt only when the calibration of the ADC is done and no interrupts are generated when buffer is ready. 

Would you have a suggestion or an example project for continuous data accusation from the ADC? 

BTW, 

In the readme file it says "This example sets ADI_ADC_ENABLE_MULTI_ACQUIRE to 1"  how ever in the code this macro is set to 0. When i set this macro to 1 the data file that is written to the PC contains garbage. Maybe this is related to my problem? 

Thanks a lot ! 

Dani

Parents
  • Hello 

    If you want to get the buffer every time it is ready, you may use adi_adc_GetBuffer() in a loop. Remember to not register a callback function when doing this.

    Using a callback function for getting the buffer is currently not supported by the drivers. Interrupts are generated but the driver won't call the callback function for a conversion done event.

    But if you want a real continuous data (no time delay between buffers), you need to use DMA in pingpong mode which is also currently not supported by the drivers. You may wait for the next versions of the BSP or program the DMA in register level.

    Regards

Reply
  • Hello 

    If you want to get the buffer every time it is ready, you may use adi_adc_GetBuffer() in a loop. Remember to not register a callback function when doing this.

    Using a callback function for getting the buffer is currently not supported by the drivers. Interrupts are generated but the driver won't call the callback function for a conversion done event.

    But if you want a real continuous data (no time delay between buffers), you need to use DMA in pingpong mode which is also currently not supported by the drivers. You may wait for the next versions of the BSP or program the DMA in register level.

    Regards

Children