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.