Estoy utilizando la placa STM32 Nucleo F334R8. Transmito algunos datos usando UART en modo asíncrono a mi PC usando:
HAL_UART_Transmit_IT(&huart2, &data, sizeof(data));
Noté que después de habilitar ADC en el modo de DMA, el microcontrolador comenzó a enviar datos incorrectos a través de UART.
Cuando acabo de comentar:
HAL_ADC_Start_DMA(&hadc1, adc_dma_values, 2);
La transmisión UART envía datos correctos.
Cuando reemplacé HAL_UART_Transmit_IT() con HAL_UART_Transmit() también sorprendentemente funciona bien.
No entiendo cómo HAL_ADC_Start_DMA() puede afectar a HAL_UART_Transmit_IT() .
Aquí hay un código completo de main.c , tal vez sea útil.