Михаил Обухов
Разобрался почему у меня не работало так как надо, дело в том, что CubeMX генерировал инициализацию не в том порядке. Он сначала MX_GPIO_Init(); MX_ADC1_Init(); MX_DMA_Init(); генерировал, а стоило поменять местами инициализацию АЦП и DMA местами, как всё заработало!
Этому есть объяснение, которое конечно же следовало бы где-то написать большими буквами ))). И в этом нет вашей вины, равно как и нельзя это отнести к "глюкам".
Дело в том, что вы сначала настроили АЦП обычно (без ДМА), сгенерировали проект и поигрались, а ДМА настроили после этого! Поэтому Куб и прописал инициализацию ДМА после инициализации АЦП, так не умеет предугадывать мысли разработчиков))).
Вы можете это прверить если отключите в Кубе всё что связано с АЦП, а потом настроить заново с ДМА - инициализация будет прописана правильно.
Я сейчас пишу статью про ДМА и обязательно акцентирую на этом внимание.