Cheeseman писал(а):
Непонятно, откуда вы эту инфу взяли.
Оттуда, что HAL_delay() не работает.
Настройка и запуск таймера, чей обработчик инкрементирует счётчик для HAL_delay(), должна быть _до_ первого вызова функций HAL. Нужно просто найти строки с настройками и перенести их в нужное место. И всех делов-то.
Кстати, после настройки периферии, драйверам которой нужен этот HAL_delay(), можно переключить работу с этим счётчика на RTOS, а таймер освободить для более полезных дел. Для этого нужно дописать пару строк в ядро RTOS.
Я ХАЛ не использую, но в паре проектов использовал драйвер USB из ХАЛ, а он без этих задержек не настраивается, поэтому пришлось делать такой финт, чтобы раз в миллисекунду вызывать HAL_IncTick().