Ксения (17.10.2019 20:40 - 21:08, просмотров: 325) ответил LightElf на Оно и стоит. И ST Motor Control SDK 5.4.1. SDK рекомендует использовать STM32Cube_FW_F3_V1.10.0, но с ним не собирается из-за отсутствия файлов EXTI. Ежели использовать следующую версию STM32Cube_FW_F3_V1.11.0 - то куча неопределенных дефайнов.
В таком случае вина лежит на не Кубе, а на авторах этого SDK. Здесь HAL выступает в качестве операционной системы, предоставляющей приложениям свои функции API. От версии к версии HAL расширяется и модифицируется. Скажем, в версии 1.10.0 exti еще не было, а в 1.11.0 он уже появился. Катить бочку за несовместимость можно было при условии, если бы новая версия не поддерживала старые приложения. Тогда как у вас ситуация в корне противоположная - у вас приложение вызывает функции API, которые официально появились лишь в следующей версии CubeMX. В этом случае CubeMX формально не виноват, а виноваты авторы SDK, написавшие его на какой-то промежуточной версии CubeMX, в которой exti уже был, но указавшие в сопроводиловке не тот номер версии, на которой они свой проект писали. Такая ситуация не может рассматриваться как порок CubeMX, а должна быть отнесена к порокам SDK-проекта.
P.S. Вообще-то exti не особо нужен - там лишь прерывания от GPIO, которые можно сделать и без его помощи. Попробуйте просто убрать файл stm32f3xx_hal_exti.c из проекта - есть вероятность, что он в нем не используется.