ART_ME

STM32 для чайника

1 468 сообщений в этой теме

bobbjenkins    6
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 и обычно пишутся заглавными буквами). Все же большинство примеров на С, код в реальной разработке пишется на С, бейсик это что то экзотическое, вам даже пообщаться не с кем будет если возникнут вопросы.

Успехов!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
bobbjenkins    6

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

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, они под нее пишут документацию, поддерживают, и т.д.

Изменено пользователем bobbjenkins

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 221

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
В 13.01.2017 в 16:34, Стальной сказал:

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

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

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

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

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

 

 

Изменено пользователем ART_ME

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597
16 минут назад, ART_ME сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
6 минут назад, BARS_ сказал:

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

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

Изменено пользователем ART_ME

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
48 минут назад, BARS_ сказал:

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

Ставил.

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

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

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

Изменено пользователем ART_ME

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 221

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
2 часа назад, mail_robot сказал:

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

ПНХ!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
8 часов назад, BARS_ сказал:

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

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

 

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

 

Изменено пользователем ART_ME

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
6 минут назад, BARS_ сказал:

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

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

 

Изменено пользователем ART_ME

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
В 16.01.2017 в 11:06, BARS_ сказал:

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

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

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

Изменено пользователем ART_ME

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bobbjenkins    6

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
mail_robot    1 221

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

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

Изменено пользователем mail_robot

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    597
2 часа назад, ART_ME сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ART_ME    0
1 час назад, bobbjenkins сказал:

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

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

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

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

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...