Jump to content
ART_ME

STM32 для чайника

Recommended Posts

On 1/6/2017 at 4:38 AM, ART_ME said:

Если кратенько.

Новичку необходим IDE с одновременным выполнением трех условий:

1. Бесплатность, пусть и с ограничениями.

2. Примеры, пусть и в ограниченном количестве.

3. Реальная поддержка этих примеров изготовителем.

Методом проб выяснилось, что, к сожалению, этому требованию на сегодняшний день соответствует только mikroE.

Есть супер альтернатива, если перейти с STM32 на LM3S8962 - LabVIEW. Но там проблема - платы по цене неподъемны, т.е. плату придется делать самому.

 

 

Согласен, немного неудобно заводить имеющиеся примеры с непривычки, но вообще говоря примеры - это просто файлы С, они собираются любой средой, которая собирает под STM32.

В ардуино проще, там просто два раза кликнул по файлу ino - и он открылся в редакторе, можно прошивать контроллер. А тут надо создать проект, подключить нужные библиотеки, добавить .c и .h файлы примеров, и потом уже собирать. 

Но если разобраться с какой то конкретной IDE, и с тем, какие бывают библиотеки (CMSIS, SPL, HAL), то потом начнете собирать эти примеры в своей любимой среде (я пользуюсь бесплатной coocox, например) без проблем. Главное разобраться ;)

Вообще в stm32 кривая изучения идет вначале резко вверх, трудно, материшься, а потом все очень легко и логично становится.  

Еще очень помогает знание английского, без него сложно. 

Вот тут почитайте туториалы по вашей плате: http://www.avislab.com/blog/stm32_st_link_ru/

Еще почитайте учебники по C для начинающих, что такое библиотечные функции (есть библиотека HAL, которую написали программисты из STM,  есть функции которые вы вызываете из нее. Без этого было бы намного сложнее - пришлось бы вручную записывать значения в десятки регистров в микроконтроллере чтоб помигать светодиодом, а так просто одной строкой вызываете заранее написанную функцию из HAL), что такое макросы (это совсем не то, что вы думаете. "Макросы" начинаются со слова #define и обычно пишутся заглавными буквами). Все же большинство примеров на С, код в реальной разработке пишется на С, бейсик это что то экзотическое, вам даже пообщаться не с кем будет если возникнут вопросы.

Успехов!

Share this post


Link to post
Share on other sites

Да, еще добавлю. 

CubeMX - это среда кде можно "мышкой" выбрать нужные вам устройства, указать нужные вам параметры/режими работы контроллера (например, частоту контроллера,  скорость UART), а CubeMX затем сгенерирует файл для IDE (там при генерации выбираете какой IDE вам нужен). Он удобен, потому что контроллеров STM32 очень много видов (Arduino, например, есть только три-четыре типа, да и то все в основном покупают один и тот же тип - Arduino Uno :)), а еще у STM32 на одну ножку навешано много функций (например, одновременно UART RX, GPIO и еще что-нибудь), а в CubeMX можно указать какую именно функцию будет выполнять та или иная лапка. Понятно, что если выберете UART, то GPIO на этой ножке использовать нельзя будет (если вы в программе потом вручную не переконфигурируете эту ножку).

CubeMX затем просто за вас напишет строки, которые конфигурируют контроллер нужным образом, и вам останется просто дописать недостающее (вызвать функцию отправки байта в UART).

CubeMX генерирует программу, которая использует библиотеку HAL. Это самая современная библиотека. В интернете много примеров, которые используют более устаревшую библиотеку SPL (там функции по-другому называются), а в некоторых примерах вообще с регистрами работают (CMSIS). Вам последние две использовать необязательно. Почти все то, что можно сделать с помощью функций библиотеки HAL, можно сделать с помощью SPL или CMSIS, и наоборот. Но сама фирма STM, насколько я понимаю, рекомендует использовать именно HAL, они под нее пишут документацию, поддерживают, и т.д.

Edited by bobbjenkins

Share this post


Link to post
Share on other sites

Прекрасно и быстро все пишет без hal, а только на cmsis. Было бы желание

Share this post


Link to post
Share on other sites

Тестирование литиевых батареек Fanso в нормальных условиях

Компания Компэл, эксклюзивный дистрибьютор компании Fanso, предлагает широкий перечень ЛХИТ, позволяющий подобрать элемент питания, в наибольшей степени соответствующий конкретным требованиям. Для тестирования параметров, указанных в Datasheet, специалисты Компэл организовали в апреле 2019 г. полугодовой тест на постоянный разряд в нормальных условиях четырех наиболее популярных моделей литий-тионилхлоридных и литий-диоксидмарганцевых батареек Fanso.

Посмотреть результаты первого среза

ради "мигалки диодом" и какой нибудь пересылалки в порт, дергалки ног и измерялки ацп искать желание писать на регистрах ну откровенно лень. Однако всем, кому не чужд мазохизм можно от души рекомендовать именно эту библиотеку. А еще лучше асм. На..шься по взрослому :rolleyes:

Share this post


Link to post
Share on other sites

Тут уже дело привычки. Я привык писать без hal, мне так удобнее)) Хотя уже чувствую, что надо на него переходить)

Share this post


Link to post
Share on other sites

Прибор контроля промышленного оборудования с беспроводными и проводными интерфейсами

Непрерывный контроль для заблаговременного предупреждения отказов оборудования – важнейшая составная часть Индустрии 4,0. Перед вами перевод референсной разработки(приложены проектные файлы) Texas Instruments прибора комплексного контроля для быстрого развертывания беспроводной сети, соединяющей различные типы датчиков контроля состояния напрямую с облаком. Контроль состояния основан на периодической и непрерывной записи состояния оборудования, что является необходимым для планово-предупредительного технического обслуживания. В проект включены интерфейсы RS-232, RS-485, IO-Link и резистивный термодатчик (RTD) для контроля различных датчиков и оборудования.

Подробнее...

В 13.01.2017 в 16:34, Стальной сказал:

@ART_ME куча примеров есть на сайте ST, среда IAR, KEIL, CooCox

Все оказалось гораздо проще. :rolleyes:

Единственный софт, который позволяет с нуля получить прошитый STM32 - это mikro.

Иными словами, после того, как Вы поставили этот софт, Вам нужно знать хотя бы основы языка программирования (Си, паскаль или бэйсик) и строго соблюдать синтаксис библиотеки mikro (хэлп и примеры прямо в софте). Если что непонятно или не получается - адекватная поддержка изготовителя на его же форуме гарантирована.

Если же Вы т.н. "цифровик" - активно развивающаяся разновидность радиолюбителя, осознавший всю мощь микроконтроллеров и старающийся впихнуть их даже туда, где можно обойтись одним транзистором,  то в Вашем распоряжении огромный ассортимент программной продукции (IAR, KEIL, CooCox и т.д и т.п.), позволяющий Вам поднять свое ЧСВ и насладиться его демонстрацией на одном из руфорумов.

 

 

Edited by ART_ME

Share this post


Link to post
Share on other sites
16 минут назад, ART_ME сказал:

Единственный софт, который позволяет с нуля получить прошитый STM32 - это mikro.

Да что ты! Это как это "с нуля, прошитый"? Прошивка сама пишется? Может ты не в курсе, но CooCox ТОЖЕ генерирует необходимый код. Остается только пошевелить мозгом и написать прошивку.

Share this post


Link to post
Share on other sites
6 минут назад, BARS_ сказал:

Да что ты! Это как это "с нуля, прошитый"? Прошивка сама пишется?

Да, сама - прямо в IDE. Без настроек, прицепляний, сборок и прочего геморроя.

Edited by ART_ME

Share this post


Link to post
Share on other sites

А что, в CooCox надо делать вышеперечисленное? Сразу видно, что ты его даже не ставил!

Share this post


Link to post
Share on other sites
48 минут назад, BARS_ сказал:

А что, в CooCox надо делать вышеперечисленное? Сразу видно, что ты его даже не ставил!

Ставил.

Для меня, как новичка НЕ ЦИФРОВИКА, CooCox ничем не отличается от того же Blitz, та же самая куча файлов и каталогов со все теми же примочками и прибамбасами. Кстати, OpenSTM32 мне показался самым интересным из всех этих IDE на одно лицо.

У меня совершенно никакого желания овладевать особенностями CooCox и приколами HAL. Не нужно мне этого. Я же не собираюсь вникать в тот же HAL ради того, чтобы чесать свое ЧСВ путем обгаживания всех мне не понравившихся на руфорумах. :lol:

Могу сказать откровенно: если бы мне не подсказали mikro, я бы отложил свои STM32 до лучших времен. А времена скоро наступят - очевидный коммерческий успех белградцев неизбежно породит им конкурентов.

Edited by ART_ME

Share this post


Link to post
Share on other sites

Не хочешь разбираться - значит и прошивки твои будут кривые и глючные. Если вообще уйдут дальше мигания диодами. Да и о каких папках речь? Тебя интересует ТОЛЬКО файл main.c в котором и пишется вся прошивка. Остальные папки и файлы для компилятора, а не для тебя.

Share this post


Link to post
Share on other sites

за чем спорить с глупым тролем, рассуждающим о вкусе устриц, ни разу их не пробовав? По моему проще игнорировать. А что и как лучше мы и сами в курсе

Share this post


Link to post
Share on other sites
2 часа назад, mail_robot сказал:

за чем спорить с глупым тролем, рассуждающим о вкусе устриц, ни разу их не пробовав? По моему проще игнорировать. А что и как лучше мы и сами в курсе

ПНХ!

Share this post


Link to post
Share on other sites

Себе это скажи. Вот перед зеркалом стань и скажи. Может полегчает. А ведь mail_robot прав...

Share this post


Link to post
Share on other sites
8 часов назад, BARS_ сказал:

Не хочешь разбираться - значит и прошивки твои будут кривые и глючные. Если вообще уйдут дальше мигания диодами. Да и о каких папках речь? Тебя интересует ТОЛЬКО файл main.c в котором и пишется вся прошивка. Остальные папки и файлы для компилятора, а не для тебя.

Ты правильно понял, я не хочу разбираться как раз потому, что кривые и глючные прошивки можно получить только при относительно сложном коде, а таковые я делаю на ПЛК и панелях. Я вообще не понимаю смысла создания сложных кодов на STM32 при таком огромном ассортименте ПЛК, а особо сложные выполняются в специализированных ПО на ПК.

 

ЗЫ. Постоянные обвинения меня в троллизме не случайны. Они объясняются тем, что mail_robot как раз и есть тр*ль, боящийся конкуренции. Потому как главный признак тролля - полное отсутствие собственного достоинства, сколько его не посылай - он не отвяжется. Что и наблюдается.

 

Edited by ART_ME

Share this post


Link to post
Share on other sites

Ты сильно ошибаешься. Stm32 именно для СЛОЖНЫХ прошивок. На них ОС спокойно работают. А для простых рукожопых прошивок есть avr и pic. Программить их на порядок проще. Ну и плюс моя плата со сложной прошивкой на stm32 будет работать в разы лучше твоей кучи ПЛК. Да и если посчитать надёжность системы, одна плата с МК будет надежнее стойки с ПЛК. ПЛК имеет смысл ставить лишь тогда, когда надо быстро запустить управление конвейером, к примеру.

Share this post


Link to post
Share on other sites
6 минут назад, BARS_ сказал:

Ты сильно ошибаешься. Stm32 именно для СЛОЖНЫХ прошивок. На них ОС спокойно работают. А для простых рукожопых прошивок есть avr и pic. Программить их на порядок проще. Ну и плюс моя плата со сложной прошивкой на stm32 будет работать в разы лучше твоей кучи ПЛК. Да и если посчитать надёжность системы, одна плата с МК будет надежнее стойки с ПЛК. ПЛК имеет смысл ставить лишь тогда, когда надо быстро запустить управление конвейером, к примеру.

То есть ты приходишь на предприятие и предлагаешь им свой самопал вместо сименса?  :acute:

 

Edited by ART_ME

Share this post


Link to post
Share on other sites
В 16.01.2017 в 11:06, BARS_ сказал:

 Ну и плюс моя плата со сложной прошивкой на stm32 будет работать в разы лучше твоей кучи ПЛК.

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

Крутой такой д'артаньянский замах, даже местный чайник в осадок от него выпал. :wub:

Edited by ART_ME

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

далеко не каждый знает разницу между embedded system и industrial automation. Сравнивать их не корректно ни по одному из параметров

Думаю и наш подопечный ее не до конца понимает, если взялся нести такую ахинею. Книжек начитался и решил покидаться умными словами. Потешный такой

Edited by mail_robot

Share this post


Link to post
Share on other sites
2 часа назад, ART_ME сказал:

Твоя фраза выше означает, что твоя плата со сложной прошивкой на stm32

Как бэээ внутри ПЛК стоят все те же ARM, ничего нового. Только прошивка проще пишется. Бутлоадер в него затолкали и он научился принимать прошивку по интерфейсу USB/RS и т.п. Только МК там с пометкой Industrial. И да, собрать управление на ПЛК дешевле (даже если это siemens, а не китаезный шлак типа ICP DAS) чем заказать разработку такой же системы на МК с нуля. Не говоря уже о том, что это быстрее. Но за это платят надежностью, т.к. куча модулей и соединений менее надежны цельного устройства. Однако преимущества перекрывают этот минус.

Share this post


Link to post
Share on other sites
1 час назад, bobbjenkins сказал:

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

Надежность нужна ВЕЗДЕ!!!!

Поэтому существует только один-единственный вариант, когда не нужна надежность, устойчивость к вибрациям и долговечность - у Вас на столе.

Как Ваше личное развлечение, именуемое ныне хобби.

Лучше ли платка с STM32 за 120 руб. для цифровика-любителя, чем ПЛК? Конечно лучше! Потому как она неизмеримо дешевле.

 

 

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Нет смысла там в войне, Вадим, бесполезно, я жду когда ты успокоишься, война отвлекает от созидания.... мой тебе совет- не ходи в деревню Гадюкино, серет там кто-то и серет, ты за своими темами смотри, вовремя правь схемы, если Пилотники и масовость сборок находит ВОПРОСЫ\ответы... остальное шелуха! 
    • выложил измененную версию. номер версии не стал изменять. кто уже скачал, прошу скачать заново. в названии прибора и в единицах измерения убрал ограничение длины строки. теперь можно ввести любую длину. чуток уменьшил высоту окна, чтобы некоторым людям был хорошо виден зазор между окном и границами доступной области. исправил образцы сохраненных файлов, чтобы там были появившиеся новые параметры.  
    • Так у них же обратный ток довольно заметный. "Мозгам" не повредит?
    • Земноводное в моем случае давно уже лет 10 в отпуске  , давай и на меня расчитывай. Всё забываю вышаманить у Саши на мою душу БЛЕКОВ Вима. на вход, любопытно аж до жопы стало   (шучу и сори за сленг)
    • Ну схема так схема. Если в кратце описание. Сенсорный экран  2.8 висящий на SPI1 Экран и SPI2 Сенсор. 4 канала аналогового измерения - защищено резисторным делителем и стабилитроном на 3.3 вольта (логика то у платы 3х вольтовая, а датчики все 5в). Канал Расходомера частотный так же защищен как и аналоговый.  Питание всей схемы осуществляется От импульсного 12в блока питания. Через микросхему MP1584EN (конвертер 2мгц) получаю напряжение 5в, затем через AMS-111-3.3 получаю 3.3. На входах в преобразователи стоят танталовые конденсаторы 10мкф согласно даташитам.  Цифровые датчики реализованы через программный SPI на 165 входном регистре.  Вход в 165 схему предаварительно зашунтирован диодами с двух сторон, что бы избежать импульса от наводок по входу.   А вот та часть, которая выносила мне мозг. Вот тут вместо оптопары просто была ULN2003. Это управление 3х ходовым краном через простoe дешевoe реле SRDТеперь тут оптопара, биполярный транзистор с токоограничивающим резистором и защитный диод шоттки. Реле связано с общей землей, питание реле +12В. После установки оптопары индуктивные наводки пропали.  Насосы включаю чуть посложнее  Тут реле зашунтированное симистором через конденсаторно-резистрную задержку. Схема работает прекрасно уже долго. Никаких помех с этой схемы не было никогда. ЧТо бы не подгорали контакты реле - 1сек оно включается симистором, затем переходит на реле. Выключение в обратном порядке. Схему нашел на просторах инета.  Ну как-то так выглядит схема.
    • Извиняюсь за свою бестолковую голову. Я думаю что тему можно удалить.
    • @zeconir  Я думаю, было бы достаточно светодиода потери связи на приемнике. Остальное решаемо без  изменений в программе. Ходовые двигатели останавливаются при отсутствии напряжения на разъеме включения регулятора. Регуляторы у меня китайские для коллекторных электродвигателей. В прежней схеме у меня, когда связь теряется, светодиод гаснет и катер останавливается.  Одна проблема, частота и мощность передатчика выходят за пределы разрешенных. Не хочется искать себе лишние проблемы.
×
×
  • Create New...