ART_ME

STM32 для чайника

893 сообщения в этой теме

bobbjenkins    5
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    5

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

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_    531

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

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


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

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

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


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

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

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


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

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

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

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

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

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

 

 

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

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


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

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

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

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


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

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

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

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

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


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

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

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


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

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

Ставил.

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

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

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

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

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


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

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

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


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

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

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


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

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

ПНХ!

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


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

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

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


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

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

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

 

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

 

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

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


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

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

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


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

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

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

 

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

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


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

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

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

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

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

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


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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

 

 

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


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

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

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

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

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

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

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

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

Загрузка...

  • Сообщения

    • А Вас не удивляет, что, как Вы изволили выразиться, "отсутствие знаний" не мешает мне успешно писать код в свои изделия, а изделия затем успешно внедрять в серийное производство? Вы не ответили мне на простой вопрос: каким боком терминология стандарта влияет на написание кода для ДМА? Что такого критически важного содержится в определении выражения как части другого выражения? Зато Ваше стерильное непонимание сути понятия "логического выражения" - это весьма существенно. Вы совершенно формально принимаете соглашения языка, не пытаясь разобраться в сути. И при этом вообще не слышите собеседника, априори полагая, что  собеседником является ничего не знающий "школоло". Именно это гомерически смешно. Также гомерически смешны Ваши сентенции относительно ДМА. ДМА не требует никаких вычислений, кроме простых присвоений значений управляющим регистрам контроллера ДМА, а так же тривиальных действий в обработчике прерываний по ДМА. Все что связано с использованием этого аппаратного инструмента никакого отношения к Си не имеет ВООБЩЕ. Проблема в том, что Вы ни разу не радист. Вы - программист. Именно поэтому активно применяете чужие библиотеки.  А мне это совершенно не требуется.  
    • транзистор Т1 выпаял: проверил, живой плату промыл - сушится обогревателем . Вечером припаяю назад Т1 + припаяю резисторы и сделаю фото
    • Это не хрень. Это - нормальное положение дел. ))  Транзисторы , они ведь не одинаковые. Токи утечки разные (в основном обратный ток коллектора) , разные и коэфициенты усиления по току ( h21э ). По этому без нагрузки , на выходах  и между ними , может быть что угодно.  На это даже заморачиваться особо не стоит. Лучше провести эксперимент. Между выходами  поставить два последовательно соединённых резистора. Скажем по одному килоому каждый. После этого померить напряжение между выходами. Оно должно стать практически нулевым.  Потом к средней точке резисторов подпаять проводок. А другой конец провода подключить к массе. При этом на обоих выходах должно стать примерно нулевое напряжение. Перекинув провод на плюс питания убеждаемся , что на обоих выходах стало практически напряжение питания. Если всё так , то то всё ОК. Но поставить резисторы между базой и эмиттером 4-х силовых  транзисторов всё же надо.   
    • В 90% случаев, такой БП используют для контактной сварки. В Вашем случае намного реальнее перемотать трансформатор от микроволновки. Уж по скорости и надёжности - это самый верный вариант. Для чего планируется использовать схему?   
    • Прорекламировали автора - аж захотелось почитать. Пошел в гугл за книжками...