Skip to main content
Visitor II
February 5, 2024
Solved

How to configure ADC_DMA in ethernet using NUCLEO-H745

  • February 5, 2024
  • 1 reply
  • 1566 views

Hello Team,

I have implemented ADC_DMA (circular mode) Multiple channels in NUCLEO_H745 and in that added ethernet without RTOS when ethernet is implement ADC_DMA is not working it provide only one time data but i have configured for circular mode every 1HZ I need to get new data but after ethernet is implemented I am getting only I time data, So is there any memory mapping I need change any configuration in code?

PFA Below


Best Regards,
Gagan Gowda G R

    This topic has been closed for replies.
    Best answer by TDK

    > SCB_InvalidateDCache_by_Addr((uint32_t *) &aADCxConvertedData_1[ADC_CONVERTED_DATA_BUFFER_SIZE], ADC_CONVERTED_DATA_BUFFER_SIZE);

    This is problematic. Points to the end of the array, not the beginning, and has the incorrect size. May or may not be the problem.

     

    SCB_InvalidateDCache_by_Addr(aADCxConvertedData_1, sizeof(aADCxConvertedData_1));

     

     > hadc2.Init.ContinuousConvMode = DISABLE;

    Possibly this should be enabled.

    Disabling cache during the debugging process is an option.

    1 reply

    TDKAnswer
    Super User
    February 5, 2024

    > SCB_InvalidateDCache_by_Addr((uint32_t *) &aADCxConvertedData_1[ADC_CONVERTED_DATA_BUFFER_SIZE], ADC_CONVERTED_DATA_BUFFER_SIZE);

    This is problematic. Points to the end of the array, not the beginning, and has the incorrect size. May or may not be the problem.

     

    SCB_InvalidateDCache_by_Addr(aADCxConvertedData_1, sizeof(aADCxConvertedData_1));

     

     > hadc2.Init.ContinuousConvMode = DISABLE;

    Possibly this should be enabled.

    Disabling cache during the debugging process is an option.

    ggowd.1Author
    Visitor II
    February 6, 2024

    Hello TDK,

    Thanks a lot. The problem is resolved.

    Best Regards,
    Gagan Gowda, G R