Comments 8
Да, сыроват продукт. Поковырял дня три назад из интереса. Не любитель подобных вещей (я о генераторе), тем не менее, расталкивать периферию по ногам все же удобно.
С чем, впрочем, вполне справлялся и старый microXplorer.
С чем, впрочем, вполне справлялся и старый microXplorer.
Вот я даже не знаю, хорошо это или плохо. С одной стороны, настройка периферии с SPL уже не способствовала глубокому пониманию происходящего (просто меняешь код примеров и все). С другой — если меняешь неправильно, закапываться в даташиты все же приходилось.
А теперь, видимо, вообще можно не заглядывать?
В то же время, периферии и настроек у stm столько, что для глубокого понимания всего ушли бы годы…
Наверное, все же хорошо. Удобно должно быть, как минимум.
А теперь, видимо, вообще можно не заглядывать?
В то же время, периферии и настроек у stm столько, что для глубокого понимания всего ушли бы годы…
Наверное, все же хорошо. Удобно должно быть, как минимум.
У STM32 действительно настроек периферии более чем предостаточно. Недавно подключал SD карту к stm32f0 и долго не мог понять почему нормально не работает — оказалось дело в SPI:
вначале по дефолту передавалось 2 байта (16 бит, т.к. регистр 16-ти битный) вместо одного, потом были проблемы с чтением (опять же 16-ти битный регист + входной буфер).
А с помощью подобной вещи (генератор) можно было бы сгенерить пример проекта, сравнить со своим и сэкономить много времени на изучении всех тонкостей работы SPI
вначале по дефолту передавалось 2 байта (16 бит, т.к. регистр 16-ти битный) вместо одного, потом были проблемы с чтением (опять же 16-ти битный регист + входной буфер).
А с помощью подобной вещи (генератор) можно было бы сгенерить пример проекта, сравнить со своим и сэкономить много времени на изучении всех тонкостей работы SPI
Опять же, то ли я не понял что-то, то ли действительно не доработано, но частоту кварцев поменять у меня не получилось, то есть доступны только делители.
Для начала включите использование внешнего кристалла в разделе RCC
Тут выбираем чип и используемую периферию. То ли я не до конца понял, то ли там действительно ошибка, но то что будет выбрано в периферии в дальнейшем ровно ни на что не влияет и все равно придется в списке выбирать нужные функции заново.
Это просто фильтр быстрого выбора проца по наличию периферии, а не выбор самой периферии. К примеру, какой из уартов включать, если вам нужен всего один?
Обидно, что выбешивающий баг с закрытием программы при скролле мышкой так и не исправили.
Спасибо за пояснения! Действительно я не разобрался, поправлю статью соответствующим образом.
А что за баг с закрытием при скролле? У меня не появлялся ни разу, в каком то конкретно окне происходит?
А что за баг с закрытием при скролле? У меня не появлялся ни разу, в каком то конкретно окне происходит?
Я попытался поюзать эту шткуовину и, пожалуй, должен отметить несколько заметных недостатков:
1) Потеря совместимости со старой Standart Peripheral Library. Функции из HAL и называются по-другому (как минимум, они начинаются со слова «HAL») и логика тоже поменялась. Теперь к проекту с HAL невозможно даже подцепить файл для настройки тактирования, который генерирует STM Clock Tool.
Попытавшись прикрутить HAL к старому проекту, я заметил серьезные изменения, например, в с USART — теперь нам предлагается использовать функции аля UartSend / UartReceive, которые библиотека предоставляет. И надеятся, что багов в них нет.
Т.е. старый код придется переписывать.
2) Отсутствие документации вообще и примеров для работы в частности. По крайней мере, что-то найти у меня пока что не получилось. У SPL с документацией тоже было не слишком радужно, но хотя бы были примеры. Тут — вообще голяк.
3) Быстро пробегая глазами код, я обнаружил баг с переполнением в функции HAL_Delay. Отношение к HAL сменилось на настороженно-недоверчивое (кстати, если кто-нибудь знает, куда можно сделать баг-репорт — подскажите пожалуйста).
Возможно, я несколько спешу с выводами, но пожалуй переходить на HAL еще рановато.
1) Потеря совместимости со старой Standart Peripheral Library. Функции из HAL и называются по-другому (как минимум, они начинаются со слова «HAL») и логика тоже поменялась. Теперь к проекту с HAL невозможно даже подцепить файл для настройки тактирования, который генерирует STM Clock Tool.
Попытавшись прикрутить HAL к старому проекту, я заметил серьезные изменения, например, в с USART — теперь нам предлагается использовать функции аля UartSend / UartReceive, которые библиотека предоставляет. И надеятся, что багов в них нет.
Т.е. старый код придется переписывать.
2) Отсутствие документации вообще и примеров для работы в частности. По крайней мере, что-то найти у меня пока что не получилось. У SPL с документацией тоже было не слишком радужно, но хотя бы были примеры. Тут — вообще голяк.
3) Быстро пробегая глазами код, я обнаружил баг с переполнением в функции HAL_Delay. Отношение к HAL сменилось на настороженно-недоверчивое (кстати, если кто-нибудь знает, куда можно сделать баг-репорт — подскажите пожалуйста).
Возможно, я несколько спешу с выводами, но пожалуй переходить на HAL еще рановато.
Sign up to leave a comment.
STM32CubeMX — продвинутый генератор проектов для STM32