Пишем первый код для ATMEGA32 в Атмел студио и мигаем светодиодом
Вставка
- Опубліковано 14 жов 2020
- С помощью программатора USBasp прошью микроконтроллер Atmega32.Напишу код в программе Atmel studio,а программой SinaProg прошью микроконтроллер.Код написан для светодиода чтобы он мигал.Также в среде разработки я изменю код чтобы увидеть,что произойдет со светодиодом
- Наука та технологія
наконец-то Тёмыч дозрел до контроллеров! новая эпоха на канале начинается)
Легендарный электронщик!
Ага, только с этим он лет на 6 как минимум опоздал когда на ютубе эта тема популярность набирала.
@@MaksovichPlay да пофиг, не в популярности счастье.
слово "дозрел" не совсем удачное. т.к. не все, кто пишет код для мк, обладают такими знаниями, например, я. если хочешь писать нормальный код, эти знания пипец как нужны
Быстрый обзор общирной темы, здорово.
Но есть ошибки:
1. F_CPU не задаёт скорость с которой будет работать контроллер, туда записывается фактическая частота тактирования для корректной работы функций. Частота тактирования настраивается в фъюзах.
2. DDRB задаёт направление работы выводов порта и по умолчанию все выводы настроены как входы (так что разумеется что ничего работать не будет если не прописать DDRB). Так же DDRB не зачем пихать в цикл, достаточно один раз определить направление работы пинов в мэйне.
@@user-js7bf6ug7k та все, вместо частота работы частота тактирования, вместо настроек фьюзы, вместо пихать в цикл можно было написать что программа делится на сетуп и цикл и так далее.Понятно что точно и по делу простым языком сложно, и фьюзы это фьюзы а не настройки , но посыл в гугл это уже слишком.
А вы подеритесь -горячие финские парни
@@user-js7bf6ug7k прикинь, училка на уроке скажет что не задаётся целью кого-то научить и дома прочитаете все в учебнике или в гугле. Или мы смотрим эти ролики не для того чтоб чему-то научиться, а по другой причине? )
Отлично. Артём, продолжай. Твоё огромное преимущество, в том, что Ты вещаешь очень ясно и коротко. Без воды и всякого фуфла. А это, редкость.
Спасибо.
учи абревиатуру ....
MISO - Мастер-Iнпут/Sлэйв-Oутпут......))))
а в общем, молодчага !!!
Первое доходчивое объяснение на ютубе.
Моси а не мосл там буква и грамотей 😁 и ресет подтягивай к плюсу всегда через сопротивление
тоже угарнул МОСЛ и МСЛО)))
А просто поправить человека нельзя? Надо именно обоc p_ть?
Мясо моси
мосл удивило да😄
Это он так ошибочно выучил и все перешло в привычку) тоже раньше поправил его в коментах в одном из роликов.
Ну наконец-то! Долго я ждал это видео,не бросай,делай до конца.
не мосл, а моси (MOSI) - Master Out Slave Input. )))
@@Yupitrer автор же сказал, что только начинает разбираться. Я в свое время, когда начинал, тоже тупо обезьяничал с чужих проектов, не понимая нифига. Растет челик и это похвально))
@@Yupitrer В твоём случае вообще писать не стоит , или подучи грамматику
@@Yupitrer дайте ссылки на толковые каналы.
мой скромный комментарий: я верхний комментарий не удаляю а пишу в него краткую инфу, типа, коротко что прога делает, буквально 4-5 слов. Это не актуально если кода строк 10, а если его пол тысячи? И, это, инициализацию порта DDRB лучше вынести за бесконечный цикл. Он в процессе работы не изменяется, а ресурс и машинное время жрет. ИМХО
Молодчина! Давно уже надо было тебе микроконтроллерами заняться. Если вопросы будут, пиши в личку, с радостью помогу по железу и по программам, я с МК уже несколько десятилетий борюсь.
Костя, В транзистор тестере сгорает вход от не разряженного конденсатора. Можно ли сделать программу прошивки для 328р мк, что бы были задействованы другие входа.
Вот это было бы здорово!
@@user-gn8pr6ft1h если исходный текст программы есть, то это сделать легко.
В старых версиях программы все было кардинально прибито гвоздями. в последних прошивках вроде бы настройки стали гораздо гибче. А вообще по идее на входах ацп можно повесить стабилитроны или супрессоры на 5 вольт. Правда я не знаю что раньше умрет от высокого напряжения диод или порт мк
Большое спасибо, наверное самый подробный ролик по тому как атмегу 32 прошить программатором. Я начинающий сложно разобраться, а плату арудино за такие деньги покупать дорого... долго искла видео на подобную тему, а выскочило случайно. Спасибо еще раз.
Спасибо за урок. Жду продолжения уроков по МК.
Директива include подключает библиотеки. Если честно, Артем, мягко говоря, ты не совсем точно объясняешь данный материал.
Да он вообще нихера не шарит. Просто технично в интернете тырит чужие материалы и выдает за свои. И так уже года два.
сишники подъехали ))))
@@konstantinp440 Я больше по ассемберу. У Артема ролики на другие темы интересные, но в программировании он пока не шарит, но при желании освоит. Это объективно и не целью поумничать или обидеть.
Побольше таких видео, очень хорошо объясняешь!!!!!!
Ура. Видео про МК! Так держать!
Артём, привет . Мы все накупили АРДУИНО,Научи нас
Никаких ардуино! Только низкоуровневое железо, ассемблер, ATF16V8!
В принципе там распаяна такая же мега с прошитым загрузчиком. Разница лишь в том, что среда ардуино большую часть работы берёт на себя и порты именуются иначе.
Но при желании можно также вручную писать код и управлять регистрами.
Ох. Круто что ты рассказываешь о том что пробуешь. И еще круче что делаешь ты это чуть ли не в режиме реального времени. Но
1. с мк лучше потратить одну макетку и час времени но таки сделать отладочную плату в которую можно засунуть любой мк и прошить.а потом не вынимая из кроватки отлаживать
2. желательно рассказать зрителям и про иные программаторы.
Например клоны программатора громова, stk500, avr doper ,jtag, бутлоадеры, avr doctor, параллельный программатор.
3. еще можно показать как перешить /обновить программатор. Рассказать о том что есть модификация usbasp умеющая работать не только с avr но и с i2c/spi флеш . Есть прошивки имитирующие программатор stk500v2. Что можно эту же плату превратить в usb-i2c или usb-uart переходник
4. Еще можно купить ардуину в любом исполнении и показать что есть не только arduino ide И вообще что код можно писать в блокноте
Молодец ясно и дохотчиво краткость -сестра таланта!
О! Только хардкор, только паяльник! Ждем продолжения.
продолжай дальше 👈🤓👉 нам нравится
Хорошо, что добрался до микроконтроллеров. В следующем видео прикрепи две кнопки, которые будут изменять частоту миганий.
Спасибо за видео!
Советую обратить внимание на серию контроллеров stm32
Спасибо тебе за нормальный спэил на английском !
Хорошо сказал!
Артем молодец! Продолжай, очень хорошо объясняешь.
( немного поправлю - MOSI - Master Out Slave In, соотв. MISO - Master In Slave Out) т. е. моси-мисо, а не мосл-млсо - это выводы для обмена по протоколу SPI.
Про работу от кварца расскажи.
Ждём новые проекты
для отладочных плат МК рекомендую программу Flprog (бесплатная).
Классно объяснили спасибо
Вот это я понимаю объяснение ... Лайк однозназначно
Тпе⁵
Мигалка на одном микроконтроллере). Сам недавно начал изучать микроконтроллеры, только я на Pic и ассемблер.
: ) понравилось : ) трицатый лайк мой : )
Когда-то пытался освоить атмел студио, сделал пару проектов, но муторно всё это. Перешел на ардуино и FLProg. Для человека не программирующего каждый день самое оптимальное.
Что то тоже подумываю позаниматься. Есть реально интересные ссылки на инфу по этой теме чтоб с нуля не искать в гугле?
@@okhamradio Я же в первом посте написал. Программка буквально за день изучается и не надо думать какие порты активировать и что в регистрах прописать, знай блоки нужные вставляй. И опыта программирования никакого не надо.
Даже если частично коснетесь темы микроконтроллеров вкупе с грамотным использованием схем по подключению мощных потребителей, то будет очень полезный материал. Особенно если будет про согласование и подавление помех!
Красава. Растешь
Артём,я являюсь твоим подписчиком очень давно.Твои видео в большинстве случаев очень познавательные.Однако в данном видео я считаю информация не раскрыта даже поверхностно.Я думаю былобы логичнее предоставить информацию более раскрыто а в качестве наглядной программы использовать например CodeVisionAVR.Я самостоятельно начинал изучать меги пару лет назад и уткнулся в информационный барьер подобных видео.Считаю важным раскрыть данную тему более развернуто.А примеры которые ты приводишь это уровень ардуинки для школьника,необходимо показать машинный код в полном объёме и кратко рассказать о всех возможностях контроллера,в частности ацп,цап,счетчики,1wire и другие замечательные возможности которые можно задействовать как програмно так и на физ уровне.
@@trudnik_pri_monastire Конечно учите племяша мигать светодиодом с помощью ардуинки, пусть он придет на завод и когда сломается немецкий чпу станок он так и скажет начальству что он не программист а только светодиодом умеет управлять, вы ведь сами должны понимать что образование в нашей стране только на бумаге, если учить ребенка работать с такими сложными вещами то только с нуля. А видео у Артема достойные беспорно, сам много из них подчеркнул нового. По поводу возможностей скажу так, я живу в отстойном городишке где один магазин радиодеталей и я за последние 10 лет там был всего два раза, все элементы которые использую я исключительно с совковых плат военной приемки которые я подбираю на помойках А МК я заказываю по почте у друзей китайцев
Обычная мигалка, которую я писал на первом уроке информатики, ржу😂😂😂
Страшная тема будет, если связать контроллеры с радиоэлектроникой. Ножками можно будет включать/выключать отдельные узлы аппаратуры, принимать/отправлять сигналы и наверно ещё сохранять данные и получать их с компьютера или флэшки.
В одно время накупил ногастых Mega128, но руки дошли только до часов. Внутри есть отключаемые резисторы подтяжки на плюс питания, и если порт настроен на вход, то отправляя в него единицы, можно включить эти резисторы (наверно на это реагирует протеус). У себя использовал их как токоограничивающие для светодиодов
Да, это интересно, будем развиваться дальше, в сторону цифровых устройств и программирования: умный дом, умный город, умная планета))
Boston Dynamics не за горами 👍
Быстрый старт называется, поздравляю, хороший выбор по пирогам и камня. С 32 мне кажется слишком резкий старт, ну или брал бы тогда уже 256)
Так и до Ардуино дойдём. Жду с нетерпением))
Ненужно
Спасибо
Ещё! Даёшь цифровизацию Артёма!
Артём, спасибо за ваши видео. Очень точно, быстро и интересно! Вопрос к вам, возможно ли сделать видео про самодельную, электродную микро сварку?
mosi , miso. вроде расшифровывается как Master Out Slave In , Master In Slave out. ( в общем моси, мисо, а не мосл, млсо)
Тоже самое делал 16 лет назад, только программатор был из LPT порта.
Здравствуйте! Функцию DDRB нужно вставлять в int main(), но до while(1). Инициализация должна проходить один раз, при включении МК, а у Вас она в цикле постоянно включается.
Артём доброго времени суток. У меня проблема с паялкой, ELEMENT 852D+. Надо прошить МК. Тебе такая задача по плечу? Николай.
Артём, спасибо за видео! Вы задаёте частоту процессора 1мГц. Это частота питания, или это внутренняя частота процессора. Микросхема запитывается через кварц? Или просто постоянка 5 В? Извините за глупый вопрос...
генератор внутри мк,внешнего кварца не нужно
Благодарю за ответы.
Это дефайн, то есть константа для правильной работы функции делей. Частота процессора и источники задания этой частоты задаются фьюзами. Изначально это внутренний рц генератор 1 мегагерц.
Друг, подскажи как создать прошивку для At89s52-24pu, просто их нет в atmel studio, а чипов около 20 штук имеется, хотелось бы их использовать
В keil uvision c51
Имею желание попробовать ваши опыты. Но не знаю, как связать контроллер с компьютером? Можете подсказать, как это делать?
Всегда было интересно разобраться с атмел студио, но инфы нормальной мало. Все подсели на ардуино. Я предпочитаю pic процессоры, и среду protonide
Если уж по-англиски говоришь:) читается в русской транскрипции МИСО ,МОСИ, Билд :) Не обижайся, ролик нормальный, просто слух режет:) И еще, сточку DDRB=0xff, надо бы вынести из тела цикла while.
#define F_CPU не задает частоту ядра, это определение для компилятора что ядро работает на этой частоте. Для работы delay как раз используется )
Артем я сына запру в комнате с твоим каналом, если он родится, продолжай в том же духе.
Свето диод, это хорошо. В транзистор тестере сгорает вход от не разряженного конденсатора. Нужна новая прошивка для 328р мк, что бы были задействованы другие входа.
Вот это было бы здорово!
Образование не хватает!
@@Al.Sy. правильнее будет диплома-бумажки не было а образование как раз было)
В 65 лет познавато учится
1) F_CPU не задает частоту процессора, он говорит библиотекам на какой частоте фактически он работает. А саму частоту работы задают специальные регистры - FUSE (или фьюзы)
2) Установку DDR лучше вынести за пределы цикла
3) include не разрешает функцию, а подключает библиотеку (фактически говорит компилятору что где-то в библиотечных файлах есть функции, описанные в этих хедерах)
4) использовать ATMEGA32 в 2020 - неоправданно дорого и непрактично, китайские ардуинки на ATMEGA328 или ATMEGA32U4 стоят гораздо дешевле, и для них не обязателен программатор
5) не обязательно использовать Sinaprog, в авр студия умеет со многими программаторами взаимодействовать
6) рекомендую статьи DI HALT'а - там все с меги16й начинается, и объясняется на уровне ассемблера.
Надо было сделать последовательное включение светодиодов было бы более наглядно).
Через студию можно тоже программировать мк через lpt port
Ну всё, пропал парень !
Интересно а можно как-то вместо задержек времени, например указывать частоту в герцах?
думаю так для разработки некоторых устройств было бы удобнее
функция delay() замораживает микроконтроллер,то есть цикл while приостанавливается и ничего не делает,на время равное аргументу в скобках delay().Но в данном микроконтроллере есть три таймера и модуль прерываний для этих таймеров,все эти модули могут считать и вызывать какие-нибудь события,не зависимо от того ,что происходит в основном цикле программы.
А для чего нужен этот SinaProg, если всё необходимое есть в самой AVR Studio?
Здравствуйте а где можно обучиться с нуля программированию ?
Разве он продаётся не пустой? Загрузчик как настроен то?
Проще микроконтроллера не нашлось? Типа Меги8
Чего-то все про ардуину. Тоска. Как насчет ассемблера?
Процессор AVR это не обязательно Ардуино :)
Даже Ардуино.IDE не обязательно про Ардуино :)
Это Ардуино обязательно про AVR :)
Ассемблер для ленивых, профи сразу в машинных кодах пишут.
@@sserg74 прошить кстати можно тоже руками )
Для функций смены одного/нескольких бит хорошо подходит команда XOR , в вашем случае PORTB=PORTB^0b11111111
P.S. переходите на программирование в среде Arduino IDE, там все на C++, а также можно юзать дешевые платы Arduino NANO, которые функционируют на тех же мегах от ATmel, но там уже будет вся необходимая обвязка микроконтроллера, такая как квацевый генератор и прочее. А заливать программу там можно вообще без программатора, через USB, за счет того что там используется загрузчик, прошитый в микроконтроллер. НО если есть желание можно и через программатор заливать программу в контроллер, правда в этом случае загрузчик вшитый в микроконтроллер будет утрачен, т.к. вместо него запишется ваша программа.
Лучше просто переходить на готовые платы, типа китайских Arduino nano/mini/micro - будет дешевле, чем отдельный микроконтроллер. А среда Arduino IDE слишком упрощенная. Можно продолжать сидеть на AVR Studio - там можно и с ассемблером разобраться, и дебаг есть (в отличии от Arduino). И если уж на что-то переходить, то на Visual Studio Code с PlatformIO - это будет и нормальный IDE с дебагом, и все возможности библиотек ардуины, и возможность писать один и тот же код под AVR, STM32, ESP8266/ESP32, Raspberry Pi...
@@user-pf5ov8sn5l я так и написал
@@caeli5532 вы написали "переходите на программирование в среде Arduino IDE", чего я как раз категорически делать не рекомендую, после серьезных вещей типа АВР студии лучше переходить на PlatformIO
@@user-pf5ov8sn5l смотрел я этот PlatformIO, честно говоря геморрой тот еще и это с учетом моего опыта в программировании, а про людей БЕЗ опыта вообще молчу.
Caeli ну на вкус и цвет... Мне platformIO очень даже зашло, может просто опыта больше. К тому же когда ты работаешь под linux или macos, а винду видишь на виртуальной машине или через удаленный доступ - альтернатив platformIO мало. Пробовал решения на базе eclipse и idea - там все еще печальней. Ну и не ставить же ради хобби винду на мак? :)
Что на ней ещё можно замутить?
А на 16 -ю есть варианты ?????
Объясни Артем зачем ты когда на пороге 21 год выбрал атмегу?
...Похоже, что именно так были рассчитаны интервалы времени (на аналогичном контроллере) очередности подрыва зарядов в самых известных зданиях мира..(((
вроде бы MISO с программатора надо сажать на MOSI контроллера, и наоборот, или я ошибаюсь?
Да
@@orestkochmar7745
*Да* - _ошибаешся_
Или
*Да* - _MISO на MОSI ..._
Или дно из двух?
*Да?*
Mosi на mosi, miso на miso
Это не Тх Rx)))
@@teenkode точно, тупанул я.
Артём ознакомься с визуальной средой программирования, flprog, россиянец её делает.
Есть каналы популяризаторы "ключ к ардуино" и "arduinoprom"
Какие порты можно использовать для подключения светодиодов?
Любые кроме VCC , GNd и т п. так же выводы для внешнего кварца закреплены для запуска некоторых чипов .
И***ь в коментах "про кодеры" собрались, которые тыкают типа: бро да ты опоздал, да ты чееее!. - Ну да м***ь, сейчас уже все рождаются со скилом "ардуинщик80lvl", да? Едва увидев видос где промелькнул AVR камушек, так сразу серют байки про ассемблер.
Артем 83, продолжай в том же духе, без ардуино-мандуино. С твоими знаниями в электронике да еще теперь микроконтроллеры. Короче, я тебе желаю всего хорошего.
MOSI /MISO (Master Out Slave In, Master In Slave Out)
#include avr.h Директива включить (#include) в проект файл (avr.h) с заголовками (.header) в котором как правило назначаются (#define) основные глобальные константы и определения.
DDRB (DoubleDataRate) оперативная память (ДиДиАрБи) ...откуда ДэДэАйБи?
Я думаю стоить заморочиться и собрать передатчик и приемник на МК. Зато фиксированная частота. Если сигнал подать через фильтры и добиться синусойды, то,наверное, можно будет промодулировать
Есть же синтезаторы частоты (PLL). Разве синусоиду можно будет получить на 8-bit микроконтроллере? По-моему нужно использовать 16-bit.
@@koteotake не важно можно или нельзя. Главное нужно попробовать, если нет кардинального "препятствия" (причины). У Вас есть причина, по которой нельзя получить синус определенной частоты от 8 бит. МК? генератор синуса можно на одном транзисторе построить, я уж молчу про МК)) Примерно такой позиции я придерживаюсь..
@@user-jv8ir9ku3t Разве на 8-bit есть синусоида? Тогда бы на Спектрумах и Денди был канал с синусоидой, но там только меандры, тругольники и шумы. Некий синус можно получить пропустив меандр через фильтр... Изначально такой микроконтроллер не должен его уметь генерировать.
@@koteotake так я и говорю про фильтры - из меандра в синус
Если без модуляции, да с внешним кварцем - максимум чего можно добиться - это 8MHz (и то используя таймер, с отключенным прескаллером). Если добавить модуляцию, например FM - то это будет мегагерц и меньше. В обратную сторону - т.е. принимать и демодулировать - все намного сложнее, одним МК тут не отделаешься, придется делать аналоговую часть.
Вот если взять esp8266 или esp32, там мощности хватит чтоб генерировать валидный ТВ сигнал (см. каналы Bitluni и CNLohr), хотя опять же в качестве приемников их можно использовать разве что для wifi и bluetooth
следующий код должен быть "бегущие огни"
Ардуино отдыхает =)
Где подключенный кварц, или внутри
Спасибо! Всё никак не доберусь до C++
Здается вы не туда полезли, не знаю чем вас не устраивает среда програмирования Arduino, допустим Вам в кайф изучать програмирование регистров/таймеров МК, но какой смысл голый МК брать, за те же деньги покупаете
Arduino плату, стираете прошивку - распаяная макетка готова...
Мисо и моси (мастер ин, слэйв аут и мастер аут, слэйв ин)spi интерфейс
Не особо шарю за прошивку голых МК, но разве то что автор называет вывод МОСЛ, называется не МОСИ ?
Очень большая просьба, давайте, пожалуйста ссылки на "железки" которые мелькают в видео.
Он не рекламирует
@@UK8CFT так не ради рекламы, для пользы ради.
Смотри на алишке, там все это есть. Читай отзывы и заказывай.
Flowcode попробуй
Atmega32... 2020 год.... может, конечно, если где-то завалялся такой МК и есть желание, то и стоит для себя что-то на нем сделать.. но начинать и учится на этом железе как по мне бред.. ладно еще ардуина, чтобы узнать что такое микроконтроллер и там "космос" примеров.. Есть же ST на любой вкус и цену! и при этом даже, если человек начинающий, то не нужно боятся STM! есть куча примеров и на крайний случай STM CUBE, если SPL+CMSIS тяжело дается. + что у stm8, что stm32 есть нормальный отладчик
Ахренеть. Я это вижу в 2020 году.. я ничего не напутал? Автор не запоздал лет этак на 20?
Это Mosi miso. Master in slave out
Я малость не догоняю.Есть же программы сьемки видео с экрана.
Єтот С++ или что там такое очень на jav-у похож
Так и до ардуино не далеко ))
Обычно изучение AVR начинают с ассемблера...
Можно светомузыку сворганить
Андрей не настоящий или из прошлого! Снимает ролики про атмегу, вместо STM32, уточняет размер файла 11.1 мб (видимо юзает диал-ап или адсл). Не удивлюсь что это искусственный интеллект видосы снимает и самообучается!
Не, есть видео, где он косит траву лопатой в поле.
Даже й не знаю что можна с єтим сделать, может в будущем, может, придумаю назначение, а покачто обойду стороной єто
pic перспективней, забей на diy-щиков
А где фьюзы?
mosi а не мосл. master output slave input
И так, шел 2005 год
Интересно, но мне кажется подпаиваться к ножкам - это извращение. Неужели нельзя было сделать через панельки и пины аккуратно?