Pull to refresh

Comments 8

Да, сыроват продукт. Поковырял дня три назад из интереса. Не любитель подобных вещей (я о генераторе), тем не менее, расталкивать периферию по ногам все же удобно.
С чем, впрочем, вполне справлялся и старый microXplorer.
Вот я даже не знаю, хорошо это или плохо. С одной стороны, настройка периферии с SPL уже не способствовала глубокому пониманию происходящего (просто меняешь код примеров и все). С другой — если меняешь неправильно, закапываться в даташиты все же приходилось.

А теперь, видимо, вообще можно не заглядывать?

В то же время, периферии и настроек у stm столько, что для глубокого понимания всего ушли бы годы…

Наверное, все же хорошо. Удобно должно быть, как минимум.
У STM32 действительно настроек периферии более чем предостаточно. Недавно подключал SD карту к stm32f0 и долго не мог понять почему нормально не работает — оказалось дело в SPI:
вначале по дефолту передавалось 2 байта (16 бит, т.к. регистр 16-ти битный) вместо одного, потом были проблемы с чтением (опять же 16-ти битный регист + входной буфер).
А с помощью подобной вещи (генератор) можно было бы сгенерить пример проекта, сравнить со своим и сэкономить много времени на изучении всех тонкостей работы SPI
Опять же, то ли я не понял что-то, то ли действительно не доработано, но частоту кварцев поменять у меня не получилось, то есть доступны только делители.

Для начала включите использование внешнего кристалла в разделе RCC

Тут выбираем чип и используемую периферию. То ли я не до конца понял, то ли там действительно ошибка, но то что будет выбрано в периферии в дальнейшем ровно ни на что не влияет и все равно придется в списке выбирать нужные функции заново.

Это просто фильтр быстрого выбора проца по наличию периферии, а не выбор самой периферии. К примеру, какой из уартов включать, если вам нужен всего один?

Обидно, что выбешивающий баг с закрытием программы при скролле мышкой так и не исправили.
Спасибо за пояснения! Действительно я не разобрался, поправлю статью соответствующим образом.
А что за баг с закрытием при скролле? У меня не появлялся ни разу, в каком то конкретно окне происходит?
Выберите функцию для любой ноги на картинке или из списка и проскрольте мышкой список pinout. Если были изменения, предложит сохранить и выйти, если не было, то молча закроется.
Я попытался поюзать эту шткуовину и, пожалуй, должен отметить несколько заметных недостатков:

1) Потеря совместимости со старой Standart Peripheral Library. Функции из HAL и называются по-другому (как минимум, они начинаются со слова «HAL») и логика тоже поменялась. Теперь к проекту с HAL невозможно даже подцепить файл для настройки тактирования, который генерирует STM Clock Tool.

Попытавшись прикрутить HAL к старому проекту, я заметил серьезные изменения, например, в с USART — теперь нам предлагается использовать функции аля UartSend / UartReceive, которые библиотека предоставляет. И надеятся, что багов в них нет.

Т.е. старый код придется переписывать.

2) Отсутствие документации вообще и примеров для работы в частности. По крайней мере, что-то найти у меня пока что не получилось. У SPL с документацией тоже было не слишком радужно, но хотя бы были примеры. Тут — вообще голяк.

3) Быстро пробегая глазами код, я обнаружил баг с переполнением в функции HAL_Delay. Отношение к HAL сменилось на настороженно-недоверчивое (кстати, если кто-нибудь знает, куда можно сделать баг-репорт — подскажите пожалуйста).

Возможно, я несколько спешу с выводами, но пожалуй переходить на HAL еще рановато.
Жаль, что STM32CubeMX по умолчанию не генерирует файлы для Eclipse. Можно максимально упростить себе жизнь воспользовавшись скриптом, описанным здесь. У меня возникли некторые проблемы с его использованием под Windows и описал мой путь здесь (в самом конце)
Sign up to leave a comment.

Articles

Change theme settings