У нас сейчас все "начинающие", т.к. я работал с микроэлектроникой, но сейчас на пенсии, а молодежи негде работать, т.к. 80 % радио-заводов после буржуйского переворота, было в России закрыто.. Пора свое изготавливать и не позориться перед Китаем!...6
Микроконтроллерами занимаюсь с начала 90-х и первым моим МК был 8048 с внешней обвязкой для памяти. Затем 8051 и далее в последовательности PIC, ныне покойный Zilog и т.д. Скажу так, Сначала надо понять что такое МК, из чего состоит и как работает, при этом не вникая в детали. Т.е. нужно понять принципы микроконтроллеров вообще и уже потом выбирать направление. И начинать я всё же советую сразу с STM и не 8-бит, а сразу 32 бит и сейчас объясню на другом примере. Когда у меня появился компьютер, то мне иногда приходилось обрабатывать изображения. Я обычно искал программы с нужной мне функцией. Потом мне нужна была другая функция и выяснялось, что эта программа это не умеет делать и я искал другую. В итоге я понял, что так Жить нельзя и изучил Photoshop, после чего все проблемы в этой области исчезли и если мне надо что-то делать с изображениями, то я делаю это легко и быстро в этой программе и делать могу всё и даже больше, чем мне надо. Аналогичной была и ситуация с учебными материалами, где мне нужно было вставлять не только изображения, но и видеоряд, сопровождая его комментариями. Первое Время я мучился так же, скачивая узкопрофильные программы, а потом изучил After Effect и теперь у меня с этим нет проблем и я могу делать что хочу и как хочу. В итоге я отказался от мелких программ и сразу стал изучать серьёзный софт. Так схемы я рисую в CAD, а 3Д графику делаю в 3Ds Max. Т.е. теперь у меня не стоит вопрос что и в чём делать. Но вернёмся к МК. Я не вижу разницы, что будет изучать человек AVR или Cortex. Ему всё равно сначала придётся изучать основы, которые аналогичны для всех МК, а потом уже переходить к конкретному семейству и пусть сразу это будет STM, т.к. начав заниматься программированием, человек быстро поймёт, что AVR ему уже не хватает и захочет перейти на более высокий уровень и здесь начнутся проблемы - придётся ломаьб мозг, т.к. в большинстве своём очень многое придётся осваивать заново, но главное не это, а то, что нам постоянно будет мешать старое. Я через это прошёл. Помню свой первый МК 8048 и обвязку из 3 корпусов - ОЗУ, ПЗУ и буферной микросхемы. Тактовая частота 12 МГц, один машинный цикл 12 тактов. Операции деления выполняются за 4 машинных цикла. А потом был PIC. Это вообще другая структура, иная организация работы и как мне мешали знания по 8048. Именно поэтому я советую сразу сесть на перспективное семейство, чтобы не иметь проблем на многие годы вперёд. Писать по теме можно много, но это не для ютуба
При выборе с чего начинать программировать с AVR или STM32, ответ очевиден и он прост, с изучения синтаксиса языка С/С++ и по поводу того что кода много или мало, или много действий, вы используете разные подходы, например если код писать в кейле то там ненужно столько манипуляций для заливки кода и в STM32 тоже можно писать на регистрах без CubeMX и тогда код будет аналогичен вот к примеру для моргания светодиодом на порту Е пин 8 микроконтроллер stm32f303 код будет выглядеть вот так: #include "stm32f303xc.h" // variable for counting system ticks __IO uint32_t counter = 0U; // override the function of counting system ticks void SysTick_Handler(){ if(counter){ counter--; } } // delay function (in milliseconds) void delay_ms(uint32_t ms){ counter = ms; while(counter){ asm("nop"); }; } int main(void) { RCC->AHBENR |= (0x00000001U MODER |= (0x00000001U BSRR = GPIO_BSRR_BS_8; // SET ( HIGH ) delay_ms(1000); // LEDs off GPIOE -> BSRR = GPIO_BSRR_BR_8; // RESET ( LOW ) delay_ms(1000); } }
на мой взгляд, выбор системы обучения должен зависить от целей, которые хочет достигнуть обучающийся: если цель это профессиональная разработка для работы в коммерческой компании хорошего уровня, то начинать следует с английского языка + си + ассемблер + устройство процессора + память + шины данных, протоколы, структуры данных, алгоритмы + изучения физических процессов и свойств + IDE и отладка и так далее. все это на практике отрабатывать на stm32, на регистрах без использования библиотеки HAL. это сложно, но в результате ученик получит достаточно глубокое понимание всех процессов, которые происходят во время исполнения программы на микроконтроллере, сможет эффективно реализовать большинство поставленных задач и развиваться дальше на хард и софт разработке. в другом случае, когда микроконтроллер нужен для хобби и от него требуется чтобы устройство просто работало, нет никакого смысла тратить итак ограниченное время на то, что никогда не пригодится. тогда в ход идут AVR и ардуино, собранные модули с али, ардуино ide и прочие инструменты с низким порогом входа.
@@АлексейДобрый-о8е Во первых в интернете почти всё есть, компьютер у всех дома есть, а на макетные платы, стартовые наборы, модули, периферия, паяльник; на это 5000 рублей надо. Это не на машиностроение учиться на станках.
@@USER-ruzer2000 в интернете есть базовые понятия и не более. Никто свой код просто так выкладывать не будет. Выкладывают пищалки, мигалки, термометры.
Как раз, я начинающий - пробовал сначала avr, atmega16a. Через какое то время забросил, потом заново появился интерес и решил поизучать stm32. Ощущения- авр, как большое озеро, stm32 - просто океан 😀 остановился на изучении stm32. По stm32 отличные демоплаты от производителя и бесплатный софт - делай что хочешь, было бы желание.
Спасибо большое уважаемый автор! У вас отличные ролики, все коротко и понятно👍👍 Конечно ардуинки на AVRе проще и я с них начал но не хватает тактовой частоты и памяти как в stm32 плюс для ардуино есть куча модулей и готовых библиотек для них так что для начинающего вообще не нужно знать с++. Дисплеи, реле, радио, усилки, GSM модули, датчики любые и всё это в магазине рядом:) Отличная игрушка для свободного времени! STM покруче но и сложнее. Как ни будь тоже попробую разобраться. Вместе с микроконтроллером начал учится и языку с++. В общим развлекаюсь. Ещё раз спасибо за качественные ролики, удачи🙂🖐.
@@Ар-к8х если ваши разработки ориентированы на беспроводные технологии -то всем. Если создаёте устройство само в себе то лучше stm32 - у него переферия круче. Для моих задач - esp32 пока лучшее решение..
@ насчет беспородных технологий спору нет. Я хотел сделать устройство для сбора вибрации на нем, чтобы esp32 запрашивал с акселерометра данные с частотой 5кгц и записывала на sd. Но у меня пока даже до 1кгц не доходит, из-за того что на sd записываю скорость работы esp32 сильно падает, несмотря на то он 240мГц. Я сначала записываю в массив потом сразу на sd . А хотелось бы чтобы программа не останавливась во время записи данных на sd, чтобы не терять новые поступающие данные с акселерометра. Не сможете, пожалуйста, посоветовать как можно это решить?
Отличное видео! Не убедил :) Для программиста, STM32 - кладезь возможностей. Я ранее не имел дела с микроконтроллерами, с более тяжёлым оборудованием работаю, но как раз на днях предложили поучаствовать в проекте на STM32. Немного поизучал тему, в т.ч. твоё часовое видео про него - в восторге от всего. Скорость, куча интерфейсов - ммм... Лежат пара ардуин, теперь даже не знаю нафиг они нужны :)
А можно пару примеров, в которых было бы явно видно, что требуется именно STM и возможностей AVR не хватит? Только чур без высокочастотных каскадов 🙂. Мне просто для личной статистики интересно узнать.
Хочу отметить, что STM32 не идеален и имеет некоторое количество багов, отличающихся на разных модельных рядах. (пример: i2c на stm32f103c8t6). Несмотря на то, что есть документация описывающая возможные исправления, тем не менее, с подобным лучше сталкиваться уже имея какой-то опыт. AVR - микроконтроллер простой и стабильный. Будет прекрасным началом вхождения в данную сферу.
Я думаю, что тот, кто хорошо знаком с программированием и понимает что такое логические операции и зачем они нужны, но никогда раньше не имел дело с микроконтроллерами, имеет смысл сразу начинать с STM. Ибо сложность в его освоении по сравнению с AVR только лишь в программной части, а тот, кто понимает что есть программа и как она устроена и работает в мозгах устройства - никакой сложности в освоении сразу STM не будет.
Мне в своё время очень помогли знания низкоуровневого программирования (ассемблер )даёт полное понимание как все работает , почему именно так , а по другому не сможет , хорошее понимание типов данных , где и как е применять и почему они имеют ограничения в использовании И так далее.. я бы пару мес потратил именно на изучение , ассемблера , азов булевой алгебры , как работают регистры, порты , принципы работы АЦП , как аппаратно устроены таймеры , как работает адресация к памяти . Потом пол года посидел бы на C + AVR . Далее выдохнул бы и с чистой совестью выбросил бы нахрен этот AVR . И уже с этой базой перешёл бы на STM 32!!)
Эх помню как из регистра H в регистр L, потом в АЛУ, затем флаги переноса, затем счётчик команд, восьмиуровневый стек, сколько тактов каждая команда, безусловные переходы. Аж под ложечкой ноет, но это ОПЫТ, хоть и давшийся дорогой ценой.
Если хочется именно разобраться, а не просто копировать код с интернета - то лучше начать, пожалуй, с AVR. Совсем начинающий в даташите по STM32 просто утонет (по себе знаю). STM32 безусловно круче и мощнее, но от обилия регистров и периферии глаза разбегаются, без понимания принципов построения типичного МК и работы с ним - разбираться будет непросто. А ту же ATMEGA8 можно освоить всю целиком за достаточно небольшое время - потом и STM станет сильно понятнее. А там, глядишь, и до RTOS доберёшься :)
@@vl-br Ну я как раз начинал с F0, там не сильно проще) Меньше периферии, урезанный функционал по отладке, но в целом там всё равно гораздо больше всего, чем на типичной AVRке
@@vl-br Начинай с STM32 F0 или F1, никого не слушай и используй Куб с его HAL - для старта само то - быстро разберешься с периферией. Ну а потом... без референсмануалов, даташитов и апноутов все-же никуда не деться. Если не знаешь инглишь - учи, все доки основаны на паре сотен слов, это не так трудно, привыкнешь.
береги свой мозг, не засоряй его динозаврами (авр- восьмибитники ненужный шлак). stm32 и кал, далее rtos. Ну а потом esp32 и нах stm32. При переходе от авр к стм у тебя пердак сначала треснет на EEPROM , а дальше тебя ждет удивительный мир от стм- errata sheet.
@@Asmcavr что за бред, есп32 сложнее?? Промежуточное положение между авр и стм, причём довольно недопиленное, даже если идф фрэймворк использовать, я уже не говорю про ардуино. Да... программер из вас похоже ещё тот...
Я в 39 лет начал ,вот ,что на самом деле очень трудно ,особенно ,когда забыл математику,мозги не молодые,и память не стабильная. Я начал с АВР ,мне кажется ограничение ресурсов ,работает как естественный пинок думать правильно. Очень долго не получалось принцип отдуплить ,саму структуру создания кода.
Сам я уже определился, что изучение МК лучше начинать с AVR в силу доступности кучей документации и книг по нему. DIP корпуса сильно упрощают изучение - не нужно каждый раз что-то паять - быстренько накидал на макетную плату МК, обвязку и пару лог. элементов и пиши себе код. И вот так, небольшими шагами, осваивать цифровую и аналог. электронику в целом. Приятно, когда видишь вещь, которая сделана твоими руками - работает. Первые проекты немного, конечно, травмировали, из-за того, что что-то не получалось, но в силу доступности дешёвых элементов обида на свою криворукость быстро исчезала )
Люблю AVR-ки. Для всех моих нужд их вполне хватает. STM не пробовал. Хотя отладочная плата на STM ждет своего времени уже 2 года. Время от времени возьму её, покручу в руках и , полный энтузиазма изучать что-то новое, .... бросаю ее в ящик, беру Atmega16 и решаю свои задачи))))
Ахах! Ровно точно так-же и у меня. Хотя хочется stm, последний раз открыл cube накидал блинк увидел сразу кучу файлов кучу строк непонятных и в ящщик 🙈
Узнаю себя, я так же, покручу платки с STM32 или с ESP8266 и вертаюсь к AVR, не пото му что трудно или не понятно, меня трудности не пугали, просто нет идей, цели.
@@pepperburning8359 мне кажется небольшой спрос удовлетворяется AVR и разум нас ведет по пути наименьшего сопротивления что и справедливо. Вот как только AVR не удовлетворит - так и начнется
п. с. в прошлом году такое почти случилось, когда цена ардуинки нано к 400! поползла, а чипов и вовсе мало было и тоже втрое дороже! так я даже мигать на стм8 научился🤓
@@enisykin1299, так ведь и STM сейчас тоже в небо ушёл. В декабре прошлого года чип STM бабушки давали вместо сдачи с покупки стакана семечек. Цены фактически сравнялись (хотя характеристики STM всё-таки гораздо выше).
Я начинал с РК86 а программирование с Бейсика. Больше привлекают графические среды программирования - FlProg, XOD, Visual Studio Code, CodeSys ну и родной ассемблер. Мне надоело клацать по клавишам, набросал элементы, связи построил и вперёд, ну кое что поправил, если что не так. небольшие проекты на AVR, 8051 на С и ассемблере. Главное хорошо знать архитектуру девайса и что нужно сделать. Думаю правильно идти от малого к великому, как в спорте, не хватайся за штангу в 150 кг, если ещё гири 16 кг не тягал ни разу.
Недавно рылся в процессорном блоке управления краном Лиебхерр. Там все на моторолах. Помню кодил на асме в 80-х на мотороле 68000 на Атари-Ст. Занятно что тогда в библиотеке даже книга нашлась по моторолам! Актуально до сих пор. Много промышленных контроллеров на моторолах. Лично разбирал.
На мой взгляд без разницы с чего начинать, если важно понять сам принцип разработки встраиваемого ПО. Однако изучение stm32 будет более значимым опытом, проще будет разобраться с контроллерами на ядре арм от других производителей, уж очень полулярное ядро в наше время, Хотелось бы ещё добавить, что просто изучение ради изучения принесет мало пользы, намного эффективнее это придумать какой-либо проект и реализовать его на том МК, который выберете.
Добрый вечер всем! Хочу высказать своё мнение по поводу что лучше всего изучать изучать тем кто вообще не чего не знает. Автор канала прав! С самого нуля, лучше всего изучать МК AVR ! Почему? Ответ: Первое! AVR Микроконтроллеры проще устроены в плане архитектуры, Второе! AVR такой себе своеобразный, вроде простой и в тоже время БОГАТЫЙ, то есть имеет практически всё не обходимое на своём борту, кратко говоря БОЕВОЙ КРЕЙСЕР! Изучив AVR как фундамент, изучать более сложную архитектуру, будет на много проще. Если всё это сопоставить, то изучить AVR и изучить STM32 (хотя бы с ядром CORTEX-M3), по времени будет одинаково, ежели начинать сразу с более сложной архитектуры. Я говорю про АРХИТЕКТУРУ не просто так, если человек хочет быть настоящим и качественным программистом МК, то ему без знания архитектуры не получиться создать качественный проект, кто не хочет быть настоящим РАЗРАБОТЧИКОМ ЖЕЛЕЗА у вас есть другой путь, путь любителей Arduino, там не надо думать!
Спасибо. Видео попалось только сейчас, надеюсь ответите. Всё ясно, понятно. Делал разные мелочи на AVR в основном с модифицированным под себя скачанным (созданным кем-то) кодом. После Вашего видео остался один вопрос, в комментариях не нашёл. Хотелось бы сравнить объем каждой прошивки загружаемой в микроконтроллеры при одной и той же задаче. Ещё раз спасибо. Будет время, точно вернусь к "самоделкам". :)
Обязательно анонсируйте начало следующего курса по микроконтроллерам. Желательно заблаговременно, чтобы можно было успеть подготовиться, в том числе финансово.
Спасибо за Ваш труд! Для программиста спустившегося в embedded решил начать с stm32 + rust lang. Тяжело, но возможно. Уже въехал в большинство вещей и дело пошло веселее. Главное читать datasheet, у stm32 там всё описано более-менее доступным языком.
Здравствуйте! Хотел проконсультироваться по поводу микроконтроллера ST7FLite. У моего знакомого сгорел этот микроконтроллер в пылесосе, купить этот микроконтроллер не проблема, а вот с прошивкой дело обстоит гораздо хуже. Как специалист, подскажите пожалуйста каким программатором можно прошивать подобные микроконтроллеры или проще взять микросхему ATMEL и заменитить эту ST7FLite?!
Pentium 4 , их сегодня выбрасывают - для мигания светодиодом самое то ) . К конкретной задаче - свой MCU . Хватит холиваров между АВР и STM . Что доступно - то используется . Помигать можно двумя транзисторами или используя два логических элемента , с запоминанием применимо пару D-триггеров
Существует секретный светодиод самомигающий. Учить 100500 камней к конкретной задаче , дурацкий подход пик мк. На мой взгляд, лучше знать один камень, но в котором есть всё .
Вот очень доступно и понятно. Но я бы с удовольствием смотрел Ваши уроки программирования STM без использования библиотек (ну по крайней мере без HAL) . Хотелось бы понять всю внутреннюю периферию микроконтроллера с использованием даташита. В сети ни чего подобного нет, а если и есть ,то без подробностей или учитель бесит.
тебе не надо это понимать чтобы повесить картину - не обязательно изобреть дрель и выплавлять сверло достаточно просто купить это и начать юзать, чтобы повесить картину
@@ciklomat так тебе не обязательно разбирать дрель, чтобы повесить картину есть арм, на которых линупс уже крутится и ты тоже там будеш разбираться в регистрах или же начнеш изучать, как пишется приложение под линупс, потому что у тебя задача стоит написать приложение под линупс, который крутится в данный момент на арм, а завтра будет крутиться еще где-то?
Мне кажется, что если ты начал с 8 битных AVR и сидел на этом долго, то при переходе на stm32, появляется много вопросов, так как в документации все немного по-другому расписано, нормальный человек начинает сравнивать и не находит в документе (по-началу) схожив моментов, отчего и сложности. Если начинать с stm32 и после попытаться освоить 8 битный AVR, я думаю, ситуация будет аналогичной. А вообще нужно начинать с языка программирования, только тогда, в конечном итоге, будет качество ПО.
Починати треба з основ електроніки. Якщо людина вже володіє основами, вміє читати електричні схеми і розуміє як вони працюють, то слід рухатись далі до вивчення цифрових схем та основ булевої алгебри. Далі, якщо людина вже ознайомлена з логічними елементами, тригерами, лічильниками, регістрами, тощо, може читати логічні схеми та має розуміння реалізованих в ній алгоритмів, то вже тоді варто переходити до мікропроцесорної техніки. Як і в електроніці взагалом, у мікропроцесорної техніки є свої основи. Не слід нехтувати цими основами. Слід дати людині цілісне уявлення з чого складається типова мікропроцесорна система та як вона функціонує. Що таке машинні коди, програма та де вона зберігається. Як відбувається зчитування команд та данних, куди вони потрапляють, як декодуються та виконуються команди, де зберігаються результуючі данні та як при цьому змінюється стан регістрів статусу, адреси, тощо. Які бувають види периферійних пристроїв, як вони керуються та які функції виконують. Що таке переривання, прямий доступ до пам`яті та як вони виконуються. Вже потім можна переходити до вивчення одразу цільового мікроконтроллера. При цьому обов`язково треба ознайомити людину з обраною IDE, як створити та налаштувати новий проєкт, як відбувається компіляція програми та як створити вихідні файли (прошивку), якими інструментами та як здійснити програмування цільового пристрою. Ну а вже далі можна вивчати граматику мови Сі, паралельно закріплюючи дані на практиці з реальним відлагоджувальним комплектом. Саме така методика, на мій погляд, є найбільш ефективною.
Спасибо! Давно хотелось попробовать зпрограммировать микроконтроллеры. Интересно, есть ли аналогичный софт под линукс? Думаю, нужно просто библиотеки соответствующие установить и можно всё то же самое сделать при помощи обычного Qt Creator. Только надо поискать программу для эмуляции микроконтроллеров.
Добрый день В последнее время появилось много видео с микроконтроллерами и их программированием. Объясните пожалуйста где это применяется, в каких профессиях необходимы эти навыки, какая их востребованность?
В России потребности почти нет, разве что в очень крупных городах, да и те особо серьезного ничего не делают, понтов больше. Как хобби - само то, увлечешься на всю жизнь и мозги не засохнут до старости (надеюсь :))
Много где, в т.ч. и в России. Автоматизация производств, телеметрия, удалённое управление, карточные терминалы, медоборудование и т.д. Я лично этим не занимаюсь, это всё только с рассказов людей которые приходили на собеседования. Что сходу могу вспомнить: 1) сеть автоматов управления уличным освещением, т.е. по контроллеру в каждом фонаре и они все в своей сети с удалённым управлением и телеметрией, проект российский; 2) карточные терминалы к которым прикладываются пластиковые карты и смартфоны с NFC - там контроллеры покруче, уже с TEE (Trusted Execution Environment); 3) судовая телеметрия (измерение и передача текущих значений каких-то параметров как основного двигателя, так и всяких вспомогательных, положения рулей и прочее). На всякий случай повторюсь - это всё не мои проекты, это из того что рассказывали о своём опыте кандидаты на собеседованиях в которых я учавствовал.
Они везде сейчас эти МК.. даже в игрушки их суют.. Я ремонтирую бытовую технику и столкнулся, что все современные приборы содержат МК.. К примеру духовки: раньше там ТЭНы да переключатели режимов были, ну пластинка защитная биметаллическая от перегрева и все.. Сейчас: электронное табло, таймеры, режимы и управляется это все МК.. просто так уже не починить.. Котлы, та же тема.. да даже в кухонной вытяжке с сенсорными кнопками и то МК засунули..
Всё верно!! Оставьте коментарий, кто реально работает в этой среде на производителя или в другой кампании. Былоб интересно узнать сколько народу работает)
Выскажу своё мнение. Если нужно понять как работают мк, то асм. Если не вникать то с/с++, но тогда только пологаться на библиотеки(тут именно стм). Но кроме атмел и стм есть другие мк именно для пром электроники.
а вот спорно на самом то деле. тем кто пишет на C++ лучше начинать на STM так как hal все же рулит. А для avr C++ на atmel studio 7 очень слабо документирована. Покажите мне работу с прерываниями на 7 студии :)
Моё мнение как начинающего, stm32 проще изучать. Один только визуальный конфигуратор с генератором кода чего стоит! Да, входной билет несомненно дороже, зато у тебя с платкой нуклео или дискавери сразу и нормальный программатор и отладчик и структурированная документация! Параллельно изучаю авр и стм, стм мне даётся легче.
по поводу документации спорно: у stm все раскидано по сотням разных файлов, тогда как у atmel дока на мк содержит исчерпывающую информацию по мк (разве потребуется что еще по командам ассемблера загрузить и больше ничего не нужно). буду признателен, если кто объяснит как находить нужный файл в stm.
Здравствуйте.Ничего не понял...(Когда начал Вам писать,у меня аж в телефоне-клавиатура заглючила,видимо от услышанного)...Как мне найти тот момент,именно с которого научиться это понимать???В данном случае мне надо восстановить ,,ATTINY26L-8SU).Как мне научиться это понимать?Вроде и знаю транзисторы,полупроводники,,ОУ",,Шим".Но тут вообще ничего не понял... Где тот момент,с которого нужно начать?
Проще 51 наверное нет ничего. И асм в нем примитивный. Только зачем на нем писать все? К примеру IAR сишку так оптимизирует, что если посмотреть ассемблеровский листинг, то станет понятно - 95% любителей асма никогда не напишут столь оптимальный код
Ставлю +, но начинающим надо с паузами смотреть. Сделай урок на PIC16F84 и программатором через LPT будет очень забавно! Для среды разработки предлагаю PICC HI-TECH, например picc 8.01 под DOS (эмулятором), вот это будет круто!
Привет , хочу попросить , у меня проект ест работает на базе ардуино нано . Возможно ли заменит ардуино на stm32f103 . Что надо изменить в программа, возможно ли ардуино ide сдетаь все автоматично ?
Лайк автору!!!!!! ❤️❤️❤️❤️❤️ хотя ничего не понятно, но интересно до чёртиков!!! Хочется научиться программировать. Скажите какую литературу можно выбрать для самостоятельного обучения?! Заранее огромно спасибо за Ваш труд!!!
Скажите пожалуйста, а насколько трудно или легко программировать контроллеры без сложных ИДЕ, только в текстовом редакторе, например в ИМАКСике? Филипп
Что-то я не могу понять: если собираешь какое-нибудь устройство с микроконтроллером STM32, рисуешь свою печатную плату, то его ставят на свою плату вместе с той платой, на которой он стоит при продаже? Или он продаётся отдельно?
Спасибо за видео, давно было интересно что же там такое в стм и так ли он отличается от авр. Как и думал всё примерно то же самое, только обернутое в библиотеки. Еще и еклипс используется. Уж как я недолюбливаю вижуал студию, но уж лучше она) так что пока обойдусь авр.
Зачем тоды вам оно? Применение мк возникает как раз из понимания електроники. Хочется сделать устройство, но на проводах это жутко много паять, а на мк, просто.
Чаще всего к микроконтроллерам приходят программисты, а не электронщики, для них и придумали все эти ардуино. Втыкай как конструктор, ничего паять не надо.
@@lumen4419 Ардуино как макетка с бутлоадером отличная штука. Ассемблер в институте изучал в 2004 году, тогда с компьютерами как то не очень было, всё на бумаге писали, это сейчас с интернетом изучай не хочу. Стариков, которых знал писали только ППЗУ(с окошком), к МК даже не подходили.
Доброе утро,с чего начать я думаю кому как удобнее будет,мне пришлось начать с avr atmega328 в дип,ну и его в поле хватает для моих задач, именно это обработка датчиков управление электроприборами 220в и дисплей ЖК 2004 для получения информации с датчиков и понимания что именно включено а что нет,СТМ даже не пробовал по этому и смотрю контент.
Здравствуйте планирую начать освоение программирование микроконтроллеров. Планирую купить несколько микроконтроллеров attyni 13 и несколько других более мощных avr. Также скачал и начинаю разбираться в ПО flowcode и proteus. Прошу подскажите что нужно докупить из аппаратных вещей для прошивки контролееров. А также на какое ПО дополнительно обратить внимание? В конечном счете планирую начпть повторять готовые проекты с каналов и таким образом учится. Благодарю.
cvavr, proteus, программатор -можно и самому спаять. + читать мануалы немного на английском, и понимать ассемблер в первую очередь. без понимания регистров и их работы, понимания работы проца - мигать вам светодиодом или щелкать реле. Что можно и при помощи ne555
в настоящее время надо начинать с того, что изучить рынок микроконтроллеров. И цены на них. И из "доставабельность". Потому что то, что сейчас твориться - это какой-то (18+) ПИЗДЕЦ!!!!! То, что год назад я покупал за 50 грн, сейчас я, сука, за 800 грн в очереди стою!!!! (автор, извини - к тебе никаких претензий. Просто крик души. Лайнул и подписался)
Як на мене питання вибору між avr та stm32 існувало кілька років тому. Зараз такого питання немає тому що stm32 просто немає у продажу, а на ті що ще є, ціна така, що ображає мої релігійні почуття. Також їх немає на mauser, digikey, tme тощо. Причина мені невідома. А куди зникла їхня нова серія stm32g? Щодо avr, там все схоже, окрім нових груп tiny0 tiny1 mega0 з інтерфейсом updi. Що на мій розсуд і є наразі розумним вибором. Хоча не заперечую, можуть бути й інші мотиви, ностальгія наприклад. І ще. Переконання атмелівців що внутрисхемний дебагер має коштувати як досить просунутий мобільник свого часу для мене було одним з аргументів на користь stm32.
stm + cube ide как по мне лучшее для изучения микроконтроллеров. Для тех кто учит stm рекомендую "Практический курс микропроцессорной техники на базе процессорных ядер ARM-Cortex-M3/M4/M4F"
Нагляднее было для stm также писать напрямую в регистры. Использование высокоуровневой библиотеки hal не дает равноценного сравнения программирования одной и той же задачи. И вызывает непонимание процесса у новичков :)
Дмитрий, а почему вы не рассматриваете изделия Espressif esp8266, esp32 и среду разработки Visual Studio Code + PlatformIO? ESP чем-то уступают stm32 и AVR?
Перетягиваем всех потихоньку на stm) Да, ядра arm дают другой уровень в микроконтроллерах и цсп. Единственное, для создания простого проекта не обязательно пользоваться отдельным CubeMX, можно сразу из CubeIDE выбрать создание нового проекта new->stm32 project и это приведет к такому же кодогенератору инициализации, но встроенному в IDE.
Тягатели на STM, назовите хотя бы три хоббийных проекта, для которых STM не будет избыточным? Что такое может придумать средний радиолюбитель, я уж не говорю про начинающего, для чего не хватит AVR?
@@MrRediska дак AVR так же избыточен для большинства хоббийных проектов😉 так что теперь 80C51 или вообще КР580 с пыльной полки доставать? Да и хобби бывают разные, я частотник на AVR делал, и на правильный 3-х фазный ШИМ способны не все МК, а на STM это по дефолту и в примерно 50-100 раз более производительнее, да и просто в несколько раз проще. Я с многими камнями работал и не только с МК, начинал лет 15 назад с PIC-ов и ассемблера, но сейчас для вновь входящих рекомендую не тратить время, а сразу заниматься ядрами arm и C/C++, это если по серьёзному, а не так, поиграться и бросить.
@@capitaineserge_9747 ну, я в общем-то так и сказал, что хобби бывают разные) Большинству просто светодиодом помигать достаточно, а для этого даже микросхема таймера не обязательна, да и вообще никакая микросхема:)
@@MrRediska Для среднего радиогубителя воще не надо этого всего. Ибо всё уже придумано до нас. Купил в кетае готовую железку за горсть риса или тупо скопировал нужный проект, коих 100500, только выбирай. Конструирование устройств, это удел продвинутых и одержимых, а у этой породы нет лимита на ресурс камня.
флпрог поддерживает вроде стм есп точно поддерживает но там используется ардуина для стм и оно генерит много кода, короче ардуина для стм гавно пока еще
На сегодняшний день я бы посмотрел на цены, прежде чем принять решение с чего начать. Самые дохлые stm начинаются с 7баксов-это то что вижу в наших магазинах, а в среднем дороже 10. Те же старые добрые avr тоже подорожали, но еще можно найти от двух баксов а в среднем 4. Если задачи, которые выполняет конnроллер не такие сложные -avr - лучший выбор. Да и проще изучение. Но, есть же еще новая серия AVR-0, которые вполне себе по начинке, и самое главное стоят от евро. Проблема только что литературы под них толком нет, да и с программаторов мало и стоят дорого. Но серия интересная.
Думаю для включалок, мигалок, датчиков нет резона тратить время на str 32. Подойдет старая добрая логика или счетчики. А для gps трекера, распознавания объектов, нейронки и тому подобного нужно более глубокие знания. Тут лучше купить готовый продукт под задачу
Электроника для начинающих. Мощный курс: diodov.net/elektronika-dlya-nachinayushhih/
Программирование микроконтроллеров для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/
Здравствуй, классные ролики делаешь ☺️, ссылочку на Протеус можешь дать?
Ййєє
У нас сейчас все "начинающие", т.к. я работал с микроэлектроникой, но сейчас на пенсии, а молодежи негде работать, т.к. 80 % радио-заводов после буржуйского переворота, было в России закрыто.. Пора свое изготавливать и не позориться перед Китаем!...6
Нужны ваши рекомендации для быстрого вникания в PIC32 , ваш курс по аvr зашел . Но спустя год если плотно этим не занимаешся многое забывается.
Микроконтроллерами занимаюсь с начала 90-х и первым моим МК был 8048 с внешней обвязкой для памяти. Затем 8051 и далее в последовательности PIC, ныне покойный Zilog и т.д.
Скажу так,
Сначала надо понять что такое МК, из чего состоит и как работает, при этом не вникая в детали.
Т.е. нужно понять принципы микроконтроллеров вообще и уже потом выбирать направление.
И начинать я всё же советую сразу с STM и не 8-бит, а сразу 32 бит и сейчас объясню на другом примере.
Когда у меня появился компьютер, то мне иногда приходилось обрабатывать изображения. Я обычно искал программы с нужной мне функцией. Потом мне нужна была другая функция и выяснялось, что эта программа это не умеет делать и я искал другую.
В итоге я понял, что так Жить нельзя и изучил Photoshop, после чего все проблемы в этой области исчезли и если мне надо что-то делать с изображениями, то я делаю это легко и быстро в этой программе и делать могу всё и даже больше, чем мне надо.
Аналогичной была и ситуация с учебными материалами, где мне нужно было вставлять не только изображения, но и видеоряд, сопровождая его комментариями.
Первое Время я мучился так же, скачивая узкопрофильные программы, а потом изучил After Effect и теперь у меня с этим нет проблем и я могу делать что хочу и как хочу.
В итоге я отказался от мелких программ и сразу стал изучать серьёзный софт.
Так схемы я рисую в CAD, а 3Д графику делаю в 3Ds Max.
Т.е. теперь у меня не стоит вопрос что и в чём делать.
Но вернёмся к МК.
Я не вижу разницы, что будет изучать человек AVR или Cortex. Ему всё равно сначала придётся изучать основы, которые аналогичны для всех МК, а потом уже переходить к конкретному семейству и пусть сразу это будет STM, т.к. начав заниматься программированием, человек быстро поймёт, что AVR ему уже не хватает и захочет перейти на более высокий уровень и здесь начнутся проблемы - придётся ломаьб мозг, т.к. в большинстве своём очень многое придётся осваивать заново, но главное не это, а то, что нам постоянно будет мешать старое.
Я через это прошёл.
Помню свой первый МК 8048 и обвязку из 3 корпусов - ОЗУ, ПЗУ и буферной микросхемы.
Тактовая частота 12 МГц, один машинный цикл 12 тактов. Операции деления выполняются за 4 машинных цикла.
А потом был PIC. Это вообще другая структура, иная организация работы и как мне мешали знания по 8048.
Именно поэтому я советую сразу сесть на перспективное семейство, чтобы не иметь проблем на многие годы вперёд.
Писать по теме можно много, но это не для ютуба
вот, это сказал профи, две минуты чтения и не нужно тратить полчаса )
Дай тебе Бог здоровья, светлая голова!
При выборе с чего начинать программировать с AVR или STM32, ответ очевиден и он прост, с изучения синтаксиса языка С/С++
и по поводу того что кода много или мало, или много действий, вы используете разные подходы, например если код писать в кейле то там ненужно столько манипуляций для заливки кода и в STM32 тоже можно писать на регистрах без CubeMX и тогда код будет аналогичен вот к примеру для моргания светодиодом на порту Е пин 8 микроконтроллер stm32f303 код будет выглядеть вот так:
#include "stm32f303xc.h"
// variable for counting system ticks
__IO uint32_t counter = 0U;
// override the function of counting system ticks
void SysTick_Handler(){
if(counter){ counter--; }
}
// delay function (in milliseconds)
void delay_ms(uint32_t ms){
counter = ms;
while(counter){ asm("nop"); };
}
int main(void)
{
RCC->AHBENR |= (0x00000001U MODER |= (0x00000001U BSRR = GPIO_BSRR_BS_8; // SET ( HIGH )
delay_ms(1000);
// LEDs off
GPIOE -> BSRR = GPIO_BSRR_BR_8; // RESET ( LOW )
delay_ms(1000);
}
}
Так себе подход, псевдо отказ от HAL :))
Ну или изучать Rust и влиться в дружную тусовку
на мой взгляд, выбор системы обучения должен зависить от целей, которые хочет достигнуть обучающийся: если цель это профессиональная разработка для работы в коммерческой компании хорошего уровня, то начинать следует с английского языка + си + ассемблер + устройство процессора + память + шины данных, протоколы, структуры данных, алгоритмы + изучения физических процессов и свойств + IDE и отладка и так далее. все это на практике отрабатывать на stm32, на регистрах без использования библиотеки HAL. это сложно, но в результате ученик получит достаточно глубокое понимание всех процессов, которые происходят во время исполнения программы на микроконтроллере, сможет эффективно реализовать большинство поставленных задач и развиваться дальше на хард и софт разработке.
в другом случае, когда микроконтроллер нужен для хобби и от него требуется чтобы устройство просто работало, нет никакого смысла тратить итак ограниченное время на то, что никогда не пригодится. тогда в ход идут AVR и ардуино, собранные модули с али, ардуино ide и прочие инструменты с низким порогом входа.
Начать надо с профобразования.
@@АлексейДобрый-о8е Во первых в интернете почти всё есть, компьютер у всех дома есть, а на макетные платы, стартовые наборы, модули, периферия, паяльник; на это 5000 рублей надо. Это не на машиностроение учиться на станках.
@@USER-ruzer2000 машиностроение еще проще программирования. А все мои успешные друзья программисты учились самостоятельно.
@@USER-ruzer2000 в интернете есть базовые понятия и не более. Никто свой код просто так выкладывать не будет. Выкладывают пищалки, мигалки, термометры.
@@СуНаиль а как же библиотеки, этого хоть отбавляй. Но с кодом беда конечно.
Как раз, я начинающий - пробовал сначала avr, atmega16a. Через какое то время забросил, потом заново появился интерес и решил поизучать stm32. Ощущения- авр, как большое озеро, stm32 - просто океан 😀 остановился на изучении stm32. По stm32 отличные демоплаты от производителя и бесплатный софт - делай что хочешь, было бы желание.
Благодарю за уроки /беседы на эту тему по STM мало легких для усвоения материалов и начинающих!
Спасибо большое уважаемый автор! У вас отличные ролики, все коротко и понятно👍👍 Конечно ардуинки на AVRе проще и я с них начал но не хватает тактовой частоты и памяти как в stm32 плюс для ардуино есть куча модулей и готовых библиотек для них так что для начинающего вообще не нужно знать с++. Дисплеи, реле, радио, усилки, GSM модули, датчики любые и всё это в магазине рядом:) Отличная игрушка для свободного времени! STM покруче но и сложнее. Как ни будь тоже попробую разобраться. Вместе с микроконтроллером начал учится и языку с++. В общим развлекаюсь. Ещё раз спасибо за качественные ролики, удачи🙂🖐.
Для начала бы русский язык выучил ))
Молодец работаете очень очен хорошо, грамотно очень понятно, четко обьясняете желаю вам удачи.
Начинал изучать с авр ассемблера, далее си авр. Теперь изучаю STM.
попробуй esp32 - про stm забудешь как страшный сон.
@@Asmcavrчем лучше esp32?
@@Ар-к8х если ваши разработки ориентированы на беспроводные технологии -то всем. Если создаёте устройство само в себе то лучше stm32 - у него переферия круче. Для моих задач - esp32 пока лучшее решение..
@ насчет беспородных технологий спору нет. Я хотел сделать устройство для сбора вибрации на нем, чтобы esp32 запрашивал с акселерометра данные с частотой 5кгц и записывала на sd. Но у меня пока даже до 1кгц не доходит, из-за того что на sd записываю скорость работы esp32 сильно падает, несмотря на то он 240мГц. Я сначала записываю в массив потом сразу на sd . А хотелось бы чтобы программа не останавливась во время записи данных на sd, чтобы не терять новые поступающие данные с акселерометра. Не сможете, пожалуйста, посоветовать как можно это решить?
@@Ар-к8х модель акселерометра скиньте
Отличное видео! Не убедил :) Для программиста, STM32 - кладезь возможностей. Я ранее не имел дела с микроконтроллерами, с более тяжёлым оборудованием работаю, но как раз на днях предложили поучаствовать в проекте на STM32. Немного поизучал тему, в т.ч. твоё часовое видео про него - в восторге от всего. Скорость, куча интерфейсов - ммм... Лежат пара ардуин, теперь даже не знаю нафиг они нужны :)
А можно пару примеров, в которых было бы явно видно, что требуется именно STM и возможностей AVR не хватит? Только чур без высокочастотных каскадов 🙂. Мне просто для личной статистики интересно узнать.
Автор видео скорее говорит об электронщике. Программисту кончено пофиг с чего, все понятно
Благодарю за внесение ясности!
Хочу отметить, что STM32 не идеален и имеет некоторое количество багов, отличающихся на разных модельных рядах. (пример: i2c на stm32f103c8t6). Несмотря на то, что есть документация описывающая возможные исправления, тем не менее, с подобным лучше сталкиваться уже имея какой-то опыт. AVR - микроконтроллер простой и стабильный. Будет прекрасным началом вхождения в данную сферу.
Согласен, я начинал с мега8, для начинающего вполне достаточно👍
Я думаю, что тот, кто хорошо знаком с программированием и понимает что такое логические операции и зачем они нужны, но никогда раньше не имел дело с микроконтроллерами, имеет смысл сразу начинать с STM. Ибо сложность в его освоении по сравнению с AVR только лишь в программной части, а тот, кто понимает что есть программа и как она устроена и работает в мозгах устройства - никакой сложности в освоении сразу STM не будет.
Спасибо большое. Много нового для себя узнал. Хороший толчок для старта.
Мне в своё время очень помогли знания низкоуровневого программирования (ассемблер )даёт полное понимание как все работает , почему именно так , а по другому не сможет , хорошее понимание типов данных , где и как е применять и почему они имеют ограничения в использовании И так далее.. я бы пару мес потратил именно на изучение , ассемблера , азов булевой алгебры , как работают регистры, порты , принципы работы АЦП , как аппаратно устроены таймеры , как работает адресация к памяти . Потом пол года посидел бы на C + AVR . Далее выдохнул бы и с чистой совестью выбросил бы нахрен этот AVR . И уже с этой базой перешёл бы на STM 32!!)
Эх помню как из регистра H в регистр L, потом в АЛУ, затем флаги переноса, затем счётчик команд, восьмиуровневый стек, сколько тактов каждая команда, безусловные переходы. Аж под ложечкой ноет, но это ОПЫТ, хоть и давшийся дорогой ценой.
Абсолютно верно.
@@USER-ruzer2000 Этот опыт не пропал, т.к. понимате как все будет работать в другом МП, МК.
Асм вещь классная, люблю и использую постоянно.
Спасибо за идею, автор по сути предлагает просто тратить время на непонятную ерунду
Мне сперва было непонятно, но посмотрев ролик стало ещё непонятнее....)))))
Если хочется именно разобраться, а не просто копировать код с интернета - то лучше начать, пожалуй, с AVR. Совсем начинающий в даташите по STM32 просто утонет (по себе знаю). STM32 безусловно круче и мощнее, но от обилия регистров и периферии глаза разбегаются, без понимания принципов построения типичного МК и работы с ним - разбираться будет непросто. А ту же ATMEGA8 можно освоить всю целиком за достаточно небольшое время - потом и STM станет сильно понятнее. А там, глядишь, и до RTOS доберёшься :)
А если взять самый простой STM32 вроде F0, попроще будет? Или они особо не отличаются в этом плане?
@@vl-br Ну я как раз начинал с F0, там не сильно проще) Меньше периферии, урезанный функционал по отладке, но в целом там всё равно гораздо больше всего, чем на типичной AVRке
@@vl-br Начинай с STM32 F0 или F1, никого не слушай и используй Куб с его HAL - для старта само то - быстро разберешься с периферией. Ну а потом... без референсмануалов, даташитов и апноутов все-же никуда не деться. Если не знаешь инглишь - учи, все доки основаны на паре сотен слов, это не так трудно, привыкнешь.
береги свой мозг, не засоряй его динозаврами (авр- восьмибитники ненужный шлак). stm32 и кал, далее rtos. Ну а потом esp32 и нах stm32.
При переходе от авр к стм у тебя пердак сначала треснет на EEPROM , а дальше тебя ждет удивительный мир от стм- errata sheet.
@@Asmcavr что за бред, есп32 сложнее?? Промежуточное положение между авр и стм, причём довольно недопиленное, даже если идф фрэймворк использовать, я уже не говорю про ардуино. Да... программер из вас похоже ещё тот...
Приятно вас слушать .Замечательно передаете все.
все супер! лайк. новички поймут
Я в 39 лет начал ,вот ,что на самом деле очень трудно ,особенно ,когда забыл математику,мозги не молодые,и память не стабильная.
Я начал с АВР ,мне кажется ограничение ресурсов ,работает как естественный пинок думать правильно.
Очень долго не получалось принцип отдуплить ,саму структуру создания кода.
Сам я уже определился, что изучение МК лучше начинать с AVR в силу доступности кучей документации и книг по нему. DIP корпуса сильно упрощают изучение - не нужно каждый раз что-то паять - быстренько накидал на макетную плату МК, обвязку и пару лог. элементов и пиши себе код. И вот так, небольшими шагами, осваивать цифровую и аналог. электронику в целом. Приятно, когда видишь вещь, которая сделана твоими руками - работает. Первые проекты немного, конечно, травмировали, из-за того, что что-то не получалось, но в силу доступности дешёвых элементов обида на свою криворукость быстро исчезала )
дпже хлебную доску не обязательно собирать. есть же эмуляторы avr как было показано в видео
Спасибо за видео !
п.с.
108 байт помигать светодиодом на АВР это круто =)
Никогда в Си не писал под АВР, размер скомпилированного кода великоват.
Люблю AVR-ки. Для всех моих нужд их вполне хватает. STM не пробовал. Хотя отладочная плата на STM ждет своего времени уже 2 года. Время от времени возьму её, покручу в руках и , полный энтузиазма изучать что-то новое, .... бросаю ее в ящик, беру Atmega16 и решаю свои задачи))))
Ахах! Ровно точно так-же и у меня. Хотя хочется stm, последний раз открыл cube накидал блинк увидел сразу кучу файлов кучу строк непонятных и в ящщик 🙈
Узнаю себя, я так же, покручу платки с STM32 или с ESP8266 и вертаюсь к AVR, не пото му что трудно или не понятно, меня трудности не пугали, просто нет идей, цели.
@@pepperburning8359 мне кажется небольшой спрос удовлетворяется AVR и разум нас ведет по пути наименьшего сопротивления что и справедливо. Вот как только AVR не удовлетворит - так и начнется
п. с. в прошлом году такое почти случилось, когда цена ардуинки нано к 400! поползла, а чипов и вовсе мало было и тоже втрое дороже! так я даже мигать на стм8 научился🤓
@@enisykin1299, так ведь и STM сейчас тоже в небо ушёл. В декабре прошлого года чип STM бабушки давали вместо сдачи с покупки стакана семечек. Цены фактически сравнялись (хотя характеристики STM всё-таки гораздо выше).
Большое спасибо за вашу работу!👍
Я начинал с РК86 а программирование с Бейсика.
Больше привлекают графические среды программирования - FlProg, XOD, Visual Studio Code, CodeSys ну и родной ассемблер.
Мне надоело клацать по клавишам, набросал элементы, связи построил и вперёд, ну кое что поправил, если что не так.
небольшие проекты на AVR, 8051 на С и ассемблере. Главное хорошо знать архитектуру девайса и что нужно сделать.
Думаю правильно идти от малого к великому, как в спорте, не хватайся за штангу в 150 кг, если ещё гири 16 кг не тягал ни разу.
Недавно рылся в процессорном блоке управления краном Лиебхерр.
Там все на моторолах.
Помню кодил на асме в 80-х на мотороле 68000 на Атари-Ст.
Занятно что тогда в библиотеке даже книга нашлась по моторолам!
Актуально до сих пор.
Много промышленных контроллеров на моторолах. Лично разбирал.
Так вам уже пора на пенсию, а вы собираетесь стм-32 изучать.
На мой взгляд без разницы с чего начинать, если важно понять сам принцип разработки встраиваемого ПО. Однако изучение stm32 будет более значимым опытом, проще будет разобраться с контроллерами на ядре арм от других производителей, уж очень полулярное ядро в наше время, Хотелось бы ещё добавить, что просто изучение ради изучения принесет мало пользы, намного эффективнее это придумать какой-либо проект и реализовать его на том МК, который выберете.
Здравствуйте, можно у вас спросить как запустить драйвер stm
Добрый вечер всем! Хочу высказать своё мнение по поводу что лучше всего изучать изучать тем кто вообще не чего не знает. Автор канала прав! С самого нуля, лучше всего изучать МК AVR ! Почему? Ответ: Первое! AVR Микроконтроллеры проще устроены в плане архитектуры, Второе! AVR такой себе своеобразный, вроде простой и в тоже время БОГАТЫЙ, то есть имеет практически всё не обходимое на своём борту, кратко говоря БОЕВОЙ КРЕЙСЕР! Изучив AVR как фундамент, изучать более сложную архитектуру, будет на много проще. Если всё это сопоставить, то изучить AVR и изучить STM32 (хотя бы с ядром CORTEX-M3), по времени будет одинаково, ежели начинать сразу с более сложной архитектуры. Я говорю про АРХИТЕКТУРУ не просто так, если человек хочет быть настоящим и качественным программистом МК, то ему без знания архитектуры не получиться создать качественный проект, кто не хочет быть настоящим РАЗРАБОТЧИКОМ ЖЕЛЕЗА у вас есть другой путь, путь любителей Arduino, там не надо думать!
Тогда уже лучше - младшие PIC-контроллеры. Ассемблер тогда точно изучите.
Очень информативно. Спасибо за Ваш труд.
Ясно. Начну, пожалуй, с STM8)
А где по нему уроки найти?
Спасибо. Видео попалось только сейчас, надеюсь ответите. Всё ясно, понятно. Делал разные мелочи на AVR в основном с модифицированным под себя скачанным (созданным кем-то) кодом. После Вашего видео остался один вопрос, в комментариях не нашёл. Хотелось бы сравнить объем каждой прошивки загружаемой в микроконтроллеры при одной и той же задаче. Ещё раз спасибо. Будет время, точно вернусь к "самоделкам". :)
Стоит ли изучать ардуино для начала, или это не более чем игрушка которая потом начнет путать, как вы считаете?
Обязательно анонсируйте начало следующего курса по микроконтроллерам. Желательно заблаговременно, чтобы можно было успеть подготовиться, в том числе финансово.
Спасибо вам ждали)) респект вам
Спасибо за Ваш труд! Для программиста спустившегося в embedded решил начать с stm32 + rust lang. Тяжело, но возможно. Уже въехал в большинство вещей и дело пошло веселее. Главное читать datasheet, у stm32 там всё описано более-менее доступным языком.
Сдаётся мне проще будет с Си.
С Праздником! С Днём Победы!
Спасибо, очень хорошо объясняете (хотя я все это и так знаю) :)
Здравствуйте! Хотел проконсультироваться по поводу микроконтроллера ST7FLite. У моего знакомого сгорел этот микроконтроллер в пылесосе, купить этот микроконтроллер не проблема, а вот с прошивкой дело обстоит гораздо хуже. Как специалист, подскажите пожалуйста каким программатором можно прошивать подобные микроконтроллеры или проще взять микросхему ATMEL и заменитить эту ST7FLite?!
Pentium 4 , их сегодня выбрасывают - для мигания светодиодом самое то ) . К конкретной задаче - свой MCU . Хватит холиваров между АВР и STM . Что доступно - то используется . Помигать можно двумя транзисторами или используя два логических элемента , с запоминанием применимо пару D-триггеров
Существует секретный светодиод самомигающий. Учить 100500 камней к конкретной задаче , дурацкий подход пик мк. На мой взгляд, лучше знать один камень, но в котором есть всё .
Жаль в кодксус не изучаете вот понятный курс и подробный купил бы без вопросов
Вот очень доступно и понятно. Но я бы с удовольствием смотрел Ваши уроки программирования STM без использования библиотек (ну по крайней мере без HAL) . Хотелось бы понять всю внутреннюю периферию микроконтроллера с использованием даташита. В сети ни чего подобного нет, а если и есть ,то без подробностей или учитель бесит.
тебе не надо это понимать
чтобы повесить картину - не обязательно изобреть дрель и выплавлять сверло
достаточно просто купить это и начать юзать, чтобы повесить картину
@@kalobyte это тебе не надо! Я если не знаю как устроено, то не берусь с этим работать.
солнце потухнет , а ты ещё будешь изучать регистры stm32). Используй КАЛ он уже нехило отточен за 10 лет.
@@ciklomat
так тебе не обязательно разбирать дрель, чтобы повесить картину
есть арм, на которых линупс уже крутится и ты тоже там будеш разбираться в регистрах или же начнеш изучать, как пишется приложение под линупс, потому что у тебя задача стоит написать приложение под линупс, который крутится в данный момент на арм, а завтра будет крутиться еще где-то?
Мне кажется, что если ты начал с 8 битных AVR и сидел на этом долго, то при переходе на stm32, появляется много вопросов, так как в документации все немного по-другому расписано, нормальный человек начинает сравнивать и не находит в документе (по-началу) схожив моментов, отчего и сложности. Если начинать с stm32 и после попытаться освоить 8 битный AVR, я думаю, ситуация будет аналогичной. А вообще нужно начинать с языка программирования, только тогда, в конечном итоге, будет качество ПО.
Это как и с иностранным языком.
Починати треба з основ електроніки. Якщо людина вже володіє основами, вміє читати електричні схеми і розуміє як вони працюють, то слід рухатись далі до вивчення цифрових схем та основ булевої алгебри. Далі, якщо людина вже ознайомлена з логічними елементами, тригерами, лічильниками, регістрами, тощо, може читати логічні схеми та має розуміння реалізованих в ній алгоритмів, то вже тоді варто переходити до мікропроцесорної техніки. Як і в електроніці взагалом, у мікропроцесорної техніки є свої основи. Не слід нехтувати цими основами. Слід дати людині цілісне уявлення з чого складається типова мікропроцесорна система та як вона функціонує. Що таке машинні коди, програма та де вона зберігається. Як відбувається зчитування команд та данних, куди вони потрапляють, як декодуються та виконуються команди, де зберігаються результуючі данні та як при цьому змінюється стан регістрів статусу, адреси, тощо. Які бувають види периферійних пристроїв, як вони керуються та які функції виконують. Що таке переривання, прямий доступ до пам`яті та як вони виконуються. Вже потім можна переходити до вивчення одразу цільового мікроконтроллера. При цьому обов`язково треба ознайомити людину з обраною IDE, як створити та налаштувати новий проєкт, як відбувається компіляція програми та як створити вихідні файли (прошивку), якими інструментами та як здійснити програмування цільового пристрою. Ну а вже далі можна вивчати граматику мови Сі, паралельно закріплюючи дані на практиці з реальним відлагоджувальним комплектом. Саме така методика, на мій погляд, є найбільш ефективною.
якщо можна зробіть який корисний девайс на мікроконтролері котрий можна повторити
Спасибо! Давно хотелось попробовать зпрограммировать микроконтроллеры. Интересно, есть ли аналогичный софт под линукс? Думаю, нужно просто библиотеки соответствующие установить и можно всё то же самое сделать при помощи обычного Qt Creator. Только надо поискать программу для эмуляции микроконтроллеров.
Лучше начинать с AVR! Там элементарная основа, азы т.с.
Я начинал с PIC, закинул их далеко.
пожалуйста сделай видео как правильно соединить мосфет транзисторы параллельно.. для мощный нагрузки.. спасибо..
Добрый день
В последнее время появилось много видео с микроконтроллерами и их программированием. Объясните пожалуйста где это применяется, в каких профессиях необходимы эти навыки, какая их востребованность?
ни в каких
это просто по приколу занятие, хобби типа
В России потребности почти нет, разве что в очень крупных городах, да и те особо серьезного ничего не делают, понтов больше. Как хобби - само то, увлечешься на всю жизнь и мозги не засохнут до старости (надеюсь :))
Много где, в т.ч. и в России. Автоматизация производств, телеметрия, удалённое управление, карточные терминалы, медоборудование и т.д. Я лично этим не занимаюсь, это всё только с рассказов людей которые приходили на собеседования. Что сходу могу вспомнить: 1) сеть автоматов управления уличным освещением, т.е. по контроллеру в каждом фонаре и они все в своей сети с удалённым управлением и телеметрией, проект российский; 2) карточные терминалы к которым прикладываются пластиковые карты и смартфоны с NFC - там контроллеры покруче, уже с TEE (Trusted Execution Environment); 3) судовая телеметрия (измерение и передача текущих значений каких-то параметров как основного двигателя, так и всяких вспомогательных, положения рулей и прочее).
На всякий случай повторюсь - это всё не мои проекты, это из того что рассказывали о своём опыте кандидаты на собеседованиях в которых я учавствовал.
@@sundreev спасибо за ответ, стал лучше понимать что к чему
Они везде сейчас эти МК.. даже в игрушки их суют.. Я ремонтирую бытовую технику и столкнулся, что все современные приборы содержат МК.. К примеру духовки: раньше там ТЭНы да переключатели режимов были, ну пластинка защитная биметаллическая от перегрева и все.. Сейчас: электронное табло, таймеры, режимы и управляется это все МК.. просто так уже не починить..
Котлы, та же тема.. да даже в кухонной вытяжке с сенсорными кнопками и то МК засунули..
Всё верно!! Оставьте коментарий, кто реально работает в этой среде на производителя или в другой кампании. Былоб интересно узнать сколько народу работает)
Выскажу своё мнение. Если нужно понять как работают мк, то асм. Если не вникать то с/с++, но тогда только пологаться на библиотеки(тут именно стм). Но кроме атмел и стм есть другие мк именно для пром электроники.
а вот спорно на самом то деле. тем кто пишет на C++ лучше начинать на STM так как hal все же рулит. А для avr C++ на atmel studio 7 очень слабо документирована. Покажите мне работу с прерываниями на 7 студии :)
Моё мнение как начинающего, stm32 проще изучать. Один только визуальный конфигуратор с генератором кода чего стоит! Да, входной билет несомненно дороже, зато у тебя с платкой нуклео или дискавери сразу и нормальный программатор и отладчик и структурированная документация! Параллельно изучаю авр и стм, стм мне даётся легче.
по поводу документации спорно: у stm все раскидано по сотням разных файлов, тогда как у atmel дока на мк содержит исчерпывающую информацию по мк (разве потребуется что еще по командам ассемблера загрузить и больше ничего не нужно).
буду признателен, если кто объяснит как находить нужный файл в stm.
@@cb_q Да, согласен. А проще Savage064 кажется, т.к. сравниваются работа с регистрами в АВР и работа с ХАЛ в СТМ, что не верно.
22:00 Либо ошибка либо я чего то упустил. Настраиваем на выход порт Д, а пишем почему то в порт В
А я до сих пор и в pic заглядываю. Начинал с них
И правильно делаете. Если понимаешь, то все равно на чем делать. У любого МК есть свои - и +.
Здравствуйте.Ничего не понял...(Когда начал Вам писать,у меня аж в телефоне-клавиатура заглючила,видимо от услышанного)...Как мне найти тот момент,именно с которого научиться это понимать???В данном случае мне надо восстановить ,,ATTINY26L-8SU).Как мне научиться это понимать?Вроде и знаю транзисторы,полупроводники,,ОУ",,Шим".Но тут вообще ничего не понял... Где тот момент,с которого нужно начать?
Выбирая между AVR и STM32, я предпочел MCS-51 и ассемблер.
Однако MCS-51 ни разу ни AVR, ни STM32.
@@Al.Sy.А чем MCS-51 хуже АВР, особенно современные?
@@lumen4419 Как можно выбирая между двумя архитектурами, выбрать третью?
@@Al.Sy. А что, есть какие-то противопоказания?
Проще 51 наверное нет ничего. И асм в нем примитивный. Только зачем на нем писать все? К примеру IAR сишку так оптимизирует, что если посмотреть ассемблеровский листинг, то станет понятно - 95% любителей асма никогда не напишут столь оптимальный код
Напишите, пожалуйста, хорошую подборку литературы по мк.
Ставлю +, но начинающим надо с паузами смотреть. Сделай урок на PIC16F84 и программатором через LPT будет очень забавно!
Для среды разработки предлагаю PICC HI-TECH, например picc 8.01 под DOS (эмулятором), вот это будет круто!
Привет . Не могу купить ( STM8AF6168 ) ! Как подобрать к ней ПОЛНЫЙ - АНАЛОГ ???
Привет , хочу попросить , у меня проект ест работает на базе ардуино нано . Возможно ли заменит ардуино на stm32f103 . Что надо изменить в программа, возможно ли ардуино ide сдетаь все автоматично ?
Лайк автору!!!!!! ❤️❤️❤️❤️❤️ хотя ничего не понятно, но интересно до чёртиков!!! Хочется научиться программировать. Скажите какую литературу можно выбрать для самостоятельного обучения?! Заранее огромно спасибо за Ваш труд!!!
Джон Мортон. Введение в микроконтроллеры.
Скажите ребят у меня телевизор на cortex на андроиде с него можно считать дамп и каким прогроматором можно считать?
Аналогично как AVR можно программировать STM, если не использовать "Куб","HAL", но настроек побольше будет, но не каких структур.
Скажите пожалуйста, а насколько трудно или легко программировать контроллеры без сложных ИДЕ, только в текстовом редакторе, например в ИМАКСике?
Филипп
Что-то я не могу понять: если собираешь какое-нибудь устройство с микроконтроллером STM32, рисуешь свою печатную плату, то его ставят на свою плату вместе с той платой, на которой он стоит при продаже? Или он продаётся отдельно?
Спасибо за видео!
It's very interesting 👍
Keep going !
Спасибо за видео, давно было интересно что же там такое в стм и так ли он отличается от авр. Как и думал всё примерно то же самое, только обернутое в библиотеки. Еще и еклипс используется. Уж как я недолюбливаю вижуал студию, но уж лучше она) так что пока обойдусь авр.
Начинать с AVR. Они проще для начинающих. Потом на STM32. Я вообще с ассемблера начинал.
Очень понятное объяснение
Получится изучить ваш курс по avr, если я не понимаю радиоэлектронику?
Зачем тоды вам оно? Применение мк возникает как раз из понимания електроники. Хочется сделать устройство, но на проводах это жутко много паять, а на мк, просто.
Получиться, но азы цифровой электроники все же желательно освоить. На освоение базы цифровой электроники хватит вполне одного месяца.
Чаще всего к микроконтроллерам приходят программисты, а не электронщики, для них и придумали все эти ардуино.
Втыкай как конструктор, ничего паять не надо.
@@USER-ruzer2000 Что за бред. МК существуют с 70х годов и их юзали всегда электронщики, а Ардуино - это для школьников.
@@lumen4419 Ардуино как макетка с бутлоадером отличная штука.
Ассемблер в институте изучал в 2004 году, тогда с компьютерами как то не очень было, всё на бумаге писали, это сейчас с интернетом изучай не хочу.
Стариков, которых знал писали только ППЗУ(с окошком), к МК даже не подходили.
Доброе утро,с чего начать я думаю кому как удобнее будет,мне пришлось начать с avr atmega328 в дип,ну и его в поле хватает для моих задач, именно это обработка датчиков управление электроприборами 220в и дисплей ЖК 2004 для получения информации с датчиков и понимания что именно включено а что нет,СТМ даже не пробовал по этому и смотрю контент.
At mega8 лучший для изучения новичку.Дмитрий сделайте видео как с помощью mega8 управлять шаговым двигателем.Спасибо за ваши видео.
Коммент в поддержку +
Спасибо автору
Спасибо 👍
RTOS кто-нибудь использует?
Здравствуйте планирую начать освоение программирование микроконтроллеров. Планирую купить несколько микроконтроллеров attyni 13 и несколько других более мощных avr. Также скачал и начинаю разбираться в ПО flowcode и proteus. Прошу подскажите что нужно докупить из аппаратных вещей для прошивки контролееров. А также на какое ПО дополнительно обратить внимание? В конечном счете планирую начпть повторять готовые проекты с каналов и таким образом учится. Благодарю.
cvavr, proteus, программатор -можно и самому спаять. + читать мануалы немного на английском, и понимать ассемблер в первую очередь. без понимания регистров и их работы, понимания работы проца - мигать вам светодиодом или щелкать реле. Что можно и при помощи ne555
А почему не PIC?
AVR прошлый век не стоит тратить время. Говорю как работодатель в этой сфере .
Можно ради интереса узнать, в каких проектах Вы применяете STM?
То есть, зря тебя в школе учили алфавиту, надо было сразу писать учить?
Есть основа и её нужно понять !!!! Работодатель😂
@@andreasduzariev2482 Везде кроме умного дома где ESP , Медицинское оборудование, блоки управления производственным оборудованием на RTOS
@@ИмяФамилия-в9г6й Так учись на транзисторах зачем тебе контроллеры.
@@parennasubaru так выучился я. А ты от куда про них знаешь?
в настоящее время надо начинать с того, что изучить рынок микроконтроллеров. И цены на них. И из "доставабельность". Потому что то, что сейчас твориться - это какой-то
(18+)
ПИЗДЕЦ!!!!!
То, что год назад я покупал за 50 грн, сейчас я, сука, за 800 грн в очереди стою!!!!
(автор, извини - к тебе никаких претензий. Просто крик души. Лайнул и подписался)
И не говори. Тоже было с АВР в 10-11 годах, кстати из-за чего в тот период СТМ взлетели.
Простите за вопрос. Можно ли с помощью АТМЕЛ Студио программировать Ардуино уно или нет.
Можно. На Ютубе есть видео как это делать.
Начинать изучение МК следует с изучения Ассемблера, причем с практической части лекций ИМХО.
А с какого языка начинать с С или асемблер?
Таки лучше с Си... Ассемблер- игрушка не для каждого, особенно если самостоятельно.
Як на мене питання вибору між avr та stm32 існувало кілька років тому. Зараз такого питання немає тому що stm32 просто немає у продажу, а на ті що ще є, ціна така, що ображає мої релігійні почуття. Також їх немає на mauser, digikey, tme тощо. Причина мені невідома. А куди зникла їхня нова серія stm32g? Щодо avr, там все схоже, окрім нових груп tiny0 tiny1 mega0 з інтерфейсом updi. Що на мій розсуд і є наразі розумним вибором. Хоча не заперечую, можуть бути й інші мотиви, ностальгія наприклад. І ще. Переконання атмелівців що внутрисхемний дебагер має коштувати як досить просунутий мобільник свого часу для мене було одним з аргументів на користь stm32.
stm + cube ide как по мне лучшее для изучения микроконтроллеров. Для тех кто учит stm рекомендую "Практический курс микропроцессорной техники на базе процессорных ядер ARM-Cortex-M3/M4/M4F"
Именно для ИЗУЧЕНИЯ эта связка - худшее, что можно придумать.
visual studio GDB круче
Нагляднее было для stm также писать напрямую в регистры. Использование высокоуровневой библиотеки hal не дает равноценного сравнения программирования одной и той же задачи. И вызывает непонимание процесса у новичков :)
Тут некоторым я тоже самое написал. А то многие пишут, что СТМ легче.
Начинал с stm, после этого avr дается очень просто
Дмитрий, а почему вы не рассматриваете изделия Espressif esp8266, esp32 и среду разработки Visual Studio Code + PlatformIO? ESP чем-то уступают stm32 и AVR?
Перетягиваем всех потихоньку на stm) Да, ядра arm дают другой уровень в микроконтроллерах и цсп.
Единственное, для создания простого проекта не обязательно пользоваться отдельным CubeMX, можно сразу из CubeIDE выбрать создание нового проекта new->stm32 project
и это приведет к такому же кодогенератору инициализации, но встроенному в IDE.
Тягатели на STM, назовите хотя бы три хоббийных проекта, для которых STM не будет избыточным? Что такое может придумать средний радиолюбитель, я уж не говорю про начинающего, для чего не хватит AVR?
@@MrRediska дак AVR так же избыточен для большинства хоббийных проектов😉 так что теперь 80C51 или вообще КР580 с пыльной полки доставать?
Да и хобби бывают разные, я частотник на AVR делал, и на правильный 3-х фазный ШИМ способны не все МК, а на STM это по дефолту и в примерно 50-100 раз более производительнее, да и просто в несколько раз проще.
Я с многими камнями работал и не только с МК, начинал лет 15 назад с PIC-ов и ассемблера, но сейчас для вновь входящих рекомендую не тратить время, а сразу заниматься ядрами arm и C/C++, это если по серьёзному, а не так, поиграться и бросить.
@@TDMLab не надо ни AVR ни КР, с задачей мигания светодиодом 555 таймер справится вообще без какого-либо программирования ;)
@@capitaineserge_9747 ну, я в общем-то так и сказал, что хобби бывают разные) Большинству просто светодиодом помигать достаточно, а для этого даже микросхема таймера не обязательна, да и вообще никакая микросхема:)
@@MrRediska Для среднего радиогубителя воще не надо этого всего. Ибо всё уже придумано до нас. Купил в кетае готовую железку за горсть риса или тупо скопировал нужный проект, коих 100500, только выбирай. Конструирование устройств, это удел продвинутых и одержимых, а у этой породы нет лимита на ресурс камня.
Покажи как создать проект и собрать на стм 32 пожажужа
Уже показывал: th-cam.com/video/fxAsY0S2Xa0/w-d-xo.html
перешел на есп8266.. жалею конечно стм но уж очень удобно
ви можете зробити звуковий DSP процесор з функціоналом як колись був в модулях ADAU1701?я думаю всім буде цікаво а багато хто і купить
А для стм есть такие программы какидля авр типа флпрог?
Платный Flowcode 9
@@USER-ruzer2000 Спасибо.
флпрог поддерживает вроде стм
есп точно поддерживает
но там используется ардуина для стм и оно генерит много кода, короче ардуина для стм гавно пока еще
На сегодняшний день я бы посмотрел на цены, прежде чем принять решение с чего начать. Самые дохлые stm начинаются с 7баксов-это то что вижу в наших магазинах, а в среднем дороже 10. Те же старые добрые avr тоже подорожали, но еще можно найти от двух баксов а в среднем 4. Если задачи, которые выполняет конnроллер не такие сложные -avr - лучший выбор. Да и проще изучение. Но, есть же еще новая серия AVR-0, которые вполне себе по начинке, и самое главное стоят от евро. Проблема только что литературы под них толком нет, да и с программаторов мало и стоят дорого. Но серия интересная.
Здравствуйте , подскажите что за новая серия ?
Почему не с МК PIC ?
Можно и с них, а можно и 8051. Главное простота, а дальше все пойдет по маслу.
Было отлично язык Ассемблера. По С и С++ у меня опыт довольно немалый.
Думаю для включалок, мигалок, датчиков нет резона тратить время на str 32. Подойдет старая добрая логика или счетчики. А для gps трекера, распознавания объектов, нейронки и тому подобного нужно более глубокие знания. Тут лучше купить готовый продукт под задачу