Dmitrudo, спокойно. Это будет не первый ваш проект. После n проектов (где n стремится к бесконечности ) вы выберете тип МК, среду для него и будете строит не менее 3-10 решений. Это сложно, требует времени, но очень, очень увлекательно и интересно. И если свести это к полезной деятельности, то имеет смысл.
Arduino подойдет для начала. Затем "переместитесь" в другое "место" (напр. МК, компилятор, среду написания кода IDE ...). И почему бы не несколько вариантов, в зависимости от предпочтений и технических характеристик. (частично использую переводчиk БГ->РУ. Пишу как "жертва" (с хорошей стороны) влияния Arduino . Сейчас Arduino по-прежнему мой любимый вариант для быстрых тестов алгоритмам и математике, а затем алгоритмы "переходят" к другим MK и IDE).
Для строительства задания/конструкции всегда существует более одного решения. Иногда это видно через 3 минуты ... иногда - через годы. Но их много. Выбор будет полностью за вами.
Спасибо, но гвозди глобусом забивайте сами.
Платформа ардуино изначально создавалась для AVR и заточена под него. Для STM32 используется тот же подход превращая "мерседес" в "запорожец" потому что сплошной ногодрыг и минимум юзания аппаратных возможностей. Не забывайте что МК это не только проц, но и встроенная периферия. Ардуина ее юзать почти не умеет.
Ардуина поддерживает аппаратную отладку STM32?
[uquote="Мурик",url="/forum/viewtopic.php?p=4709991#p4709991"]... Ардуина поддерживает аппаратную отладку STM32?[/uquote]
Уже есть: Arduino IDE v2.3.2: https://github.com/stm32duino/Arduino_C ... w-to-debug
(Но оригинал - лучше )
Мурик писал(а):Ардуина поддерживает аппаратную отладку STM32?
можно упростить это вопрос Ардуина вообще поддерживает отладку (за исключением моргающего светодиодика и вывода в терминал)?
Добавлено after 1 minute 32 seconds:
[uquote="veso74",url="/forum/viewtopic.php?p=4709993#p4709993"]Уже есть: Arduino IDE v2.3.2: https://github.com/stm32duino/Arduino_C ... w-to-debug[/uquote]
как уже сказали выше - это какая-то сова на глобус натянутая. Лучше тогда стандартный подход.
Тоже против, выше версии 1.8.19 я не обновлялся. Из-за большой нагрузки IDE на комп, основном: не-win7 64b совместимое, раздражающей, некрасивой IDE v2 ... перешел на другое использование, с другими МК, другой МК. Не жалею об этом. Но они также развиваются .
Там зачем-то требуют ставить клипсу...
Без нее отладка невозможна?
Такое впечатление что прикручивается через одно место с плясками с бубном! Это не по кошачи!
Кому охота отладку добавить - сделайте соответствующее дополнение в IDE - это уж для спецов-гурманов надеюсь посильное дело.
Насчет "простого ногодрыга" без тонких настроек - кто ж запрещает те настройки самостоятельно дописать, ежли начального уровня недостаточно. Или в других версиях средств разработки все на блюдечке всегда уже выложено?
Для профи на производствах свои условия и требования.
А уж ежли желание "закопаться" - берем документацию и вычитываем.
Только вот на сегодня это уже для любителя (да и для профи)не слишком подъёмное занятие...
Ну одну - две микросхемы из семейства еще можно усвоить - да за это время еще с десяток новых появится.
Или работа по факту возникновения вопроса с использованием минимума "тонкостей" требующих детальной проработки или уж профи на предприятии (с ежегодной переподготовкой за счет предприятия).
Это при том, что и элементная база с огромной скоростью обновляется и производители компонентов как в калейдоскопе мелькают.
Шипеть могут все - а как до дела доходит (самому что то добавить общеполезное в уже другими созданное) - тут мы лапки моем да усы с хвостами вылизываем.
Не так давно и ассемблера да максимум осциллографа и простейших тест программ вполне достаточно было практически для тех же результатов.
BOB51 писал(а):Кому охота отладку добавить - сделайте соответствующее дополнение в IDE - это уж для спецов-гурманов надеюсь посильное дело.
Вот я представляю начинающего ардуинщика который пишет дополнение... Спрашивается, а зачем?
BOB51 писал(а):Насчет "простого ногодрыга" без тонких настроек - кто ж запрещает те настройки самостоятельно дописать, ежли начального уровня недостаточно.
То есть предлагаете переписать все ардуиновые библиотеки? В них ногодрыг.
BOB51 писал(а):Или в других версиях средств разработки все на блюдечке всегда уже выложено?
Там и отладка есть и средства под конкретные модели МК.
BOB51 писал(а):А уж ежли желание "закопаться" - берем документацию и вычитываем.
Не обязательно. Для STMок есть SPL, HAL и прочие библиотеки значительно упрощающие работу с МК.
BOB51 писал(а):Только вот на сегодня это уже для любителя (да и для профи)не слишком подъёмное занятие
То есть хотите сказать что сейчас слошь и рядом все юзают ардуину в том числе в промышленности и военной сфере?
Это ардуина для любителей и тех кто не понимает какая кака она и ее библиотеки.
BOB51 писал(а):Ну одну - две микросхемы из семейства еще можно усвоить - да за это время еще с десяток новых появится.
Вам нужно работать с 1500 моделями МК? Разве их все поддерживает ардуина?
[uquote="Dmitrudo",url="/forum/viewtopic.php?p=4709769#p4709769"]Главный принцип Ардуинавтики- в чем?[/uquote]
Шилд в шилд через шилд вставленный в шилд соединенный с шилдом в котором шилд в котором шилд в котором шилд который через шилд соединен с шилдом
[uquote="Мурик",url="/forum/viewtopic.php?p=4709974#p4709974"]Лучше брать STM32, а не ардуино на AVR.[/uquote]
Пусть человек хотя бы с Ардуино разберётся, что ж так сразу то!
[uquote="smacorp",url="/forum/viewtopic.php?p=4709778#p4709778"]А главный принцип Ардуино в том, чтобы минимально снизить порог вхождения в микроконтроллерную технику и по уровню знаний (программирование "накидали библиотек - вроде работает"), и по уровню умений ("паять не нужно"), и по цене.[/uquote]...но есть существенная опасность навсегда застрять на этом уровне.
Да и стиль программирования она прививает - плохой. Потом не каждый способен от него отмыться...
[uquote="BOB51",url="/forum/viewtopic.php?p=4709789#p4709789"]Отрицание платок прикладного назначения DIP варианта исполнения, как и применения подобных микросборок в конструкциях, аналогично отрицанию применения микросхем.
Просто к ардуино (и ее платформам) нужно относится как к новой разновидности элементной базы.[/uquote]
Согласен. Давно использую китайские микросборки которые типа считаются "аналогами ардуино",но можно применять их как просто микросборку с МК,впаиваемую на
свою плату. Если нет зверских требований по вибростойкости то такой способ монтажа это вполне нормально.
А вот программной "среды ардуино" избегаю ибо не понимаю зачем нагромождать лишние сложности вместо нормального общепринятого и простого языка Си и
компилятора avr-gcc. Тем более что все примеры в даташитах и аппнотах - на Си. И куча всяких проектов в интернете откуда можно сишный код стащить.
А еще код на стандартном Си можно отлаживать в vmlab и proteus.
Помимо прочего для любой из "платформ" всегда можно создавать проект в соответствующей применяемым в платке микроконтроллерам IDE.
Вот только в этих IDE что-то создать сложнее чем просто написать сишный код в текстовом редакторе. И еще сложнее понять во что же именно оно из IDE скомпилируется. В случае микроконтроллеров программирование максимально приближено к железу и нагоромождение лишних абстракций над абстракциями
только вредит пониманию происходящих в схеме процессов.
[uquote="jcxz",url="/forum/viewtopic.php?p=4710130#p4710130"]...но есть существенная опасность навсегда застрять на этом уровне.
Да и стиль программирования она прививает - плохой. Потом не каждый способен от него отмыться...[/uquote]
Да, было время BASIC ругали за то же самое, и это при том что в реале был выбор между ним и уж вовсе ассемблером
А лучше ардуина чем ничего.
[uquote="BOB51",url="/forum/viewtopic.php?p=4710087#p4710087"]Это при том, что и элементная база с огромной скоростью обновляется[/uquote]
Вообще-то микроконтроллеры семейства AVR продаются в РФ уже как минимум четверть века. И никуда исчезать не собираются.
Для абсолютного большинства любительских проектов они достаточны. И очень удобны благодаря наличию симулятора vmlab,позволяющего
эффективно вылавливать ошибки из кода, неизбежные у программиста-любителя.
[uquote="Мурик",url="/forum/viewtopic.php?p=4709991#p4709991"]Ардуина поддерживает аппаратную отладку STM32?[/uquote]
Нужна не аппаратная отладка,а хороший симулятор. Для AVR он есть - VMlab. Для STM32 его нет,во всяком случае доступного и столь же интерактивного.
[uquote="WatchCat",url="/forum/viewtopic.php?p=4710152#p4710152"]Нужна не аппаратная отладка,а хороший симулятор.[/uquote]
зачем? что симулировать в отрыве от реальной периферии? как работает а = б + с и прочие примитивные стотыщ раз решённые проблемы? Энергопотребление симулятор тоже просимулирует? Всякие проблемы, типа кривая трассировка, забытый блокировочный, ЭМП?
[uquote="roman.com",url="/forum/viewtopic.php?p=4710157#p4710157"]откройте даташит на любой МК и сделайте как в даташите.[/uquote]
Не всё есть в готовом виде. Например в даташитах (и аппнотах) мне не попадался полноценный конечный
автомат для работы с i2c. Только какие-то огрызки и обрезки с существенными упрощениями,приводящими
к мертвым зависаниям в случае каких-либо особых ситуаций. И похоже что не только мне не попадалось
готового кода. Потому что об этом пишут тут: http://easyelectronics.ru/avr-uchebnyj- ... c-i2c.html
и тут: https://habr.com/ru/articles/856548/
И все равно в обоих случаях не дописали.
WatchCat писал(а):И похоже что не только мне не попадалось готового кода.
Если информация в спецификация неполная, как сейчас у китайцев, то она запрашивается. Если всё равно нет - то берётся микроконтроллер, где она полная.
Готовый код никто и не обязан предоставлять. Микроконтроллеры не делают для радиолюбителей, они довольствуются крохами со стола электронной промышленности, поэтому, да, может быть ситуация, что что положено Юпитеру, не положено быку.
Что же касается I2C, то необходимо понимать событийную модель, и если уж охота, то не так уж и сложно её всю проанализировать в прерывании. Симулятор притом здесь будет бесполезен, в ардуине притом это сделать невозможно.
И ещё: то, что в интернете нет готового кода, не означает, что его нет. Не все же бегут выкладывать, на форумах и хабрах.
Но так-то да. Велосипеды с микроконтроллерами постоянны.
Кстати, Ардуина в этом плане выигрывает значительно: она-то как раз предполагает большей частью готовый код.