2025-05-29 1:38 AM
Hello,
I'm trying to migrate my project from STM32G474I-eval board to STM32H757I-eval (dual core)' but I'm facing some troubles.
My original project has several peripheral : CANFD, ADC1, DAC, USART. I tried to define all these according to the Data sheet of STM32H757I on Core M7 only (just to try to migrate to single core at the beginning), but when I was trying to check ADC1 I have already encountered some problems.
First of all according to the STMCubeMX the only available pins for ADC1 were (PA0, PA0_C, PA1_C), and in the DMA settings - I put DMA1 Streem3 (Circular). According to data sheet the pin PA0_C is connected to the CN5 and RV1 potentiometer so I was expecting that moving the potentiometer to different values would actually change the output on PA0_C.
The problem is - when I'm running the debugger on the STM32H757I board I always find myself in the HAL_ADC_IRQHandler function, and never get to the ADC_DMAConvCplt callback (where the HAL_ADC_ConvCpltCallback user implemented function is called).
And in the HAL_ADC_IRQHandler the next check fails:
/* ====== Check ADC group regular end of unitary conversion sequence conversions ===== */
if ((((tmp_isr & ADC_FLAG_EOC) == ADC_FLAG_EOC) && ((tmp_ier & ADC_IT_EOC) == ADC_IT_EOC)) ||
(((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)))
here the (tmp_isr & ADC_FLAG_EOC) == ADC_FLAG_EOC and
(tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS are TRUE
and the (tmp_ier & ADC_IT_EOC) == ADC_IT_EOC and (tmp_ier & ADC_IT_EOS) == ADC_IT_EOS are FALSE !
Can anyone help me with this ?
Thanks