I / O Ports | The first program | Microcontrollers from scratch #4
Вставка
- Опубліковано 26 вер 2024
- I / O ports are the primary and only node through which the microcontroller interacts with external devices. Therefore, before writing the first program, you should learn how to configure the I / O ports of the microcontroller. For this purpose there are two registers: DDRx and PORTx. For example, if port B of the microcontroller needs to be set to output, then 0 should be written to the corresponding DDRB bit, and if to input - 1. By writing 0 or 1 to the PORTB register, this port pin B is set to high or low potential.
Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/
Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/
лучший канал на ютубе по изучению микроконтроллеров!!!
СПАСИБО !!!!
Какие замечательные у Вас уроки. Мне 55 лет. Я с удовольствием пополняю свои знания.
Так внятно, кратко, по сути, компетентно рассказано. Очень круто. Спасибо Вам большое.
Добрый день. Дмитрий, Вы действительно заслуживаете похвалы. Далеко не каждый, знающий своё дело технарь, может так грамотно и доходчиво по сути читать лекции. Вы по жизни где-то преподаёте? В институте, в школе? Любопытен Ваш возраст с профессиональной точки зрения. Обескураживает факт наличия специфических технических знаний и умение их преподнести. Сразу видно, человек разбирается в том, о чем рассказывает и делает это очень даже профессионально.
Спасибо за труды!
Желаю много идей для видео.
Ждём новых видео с нетерпением.
Вы редкостный хороший человек!
Ещё раз спасибо.
Буду смотреть все видео не по по одному разу...
Восхищён! Чётко, ясно и понятно!!! Так держать!
Дмитрий, спасибо Вам большое за Ваши ролики. Ну почему в вузе учат всякую ерунду, а не то, что нужно!
Господи, храни етого человека...
Спасибо за Ваши труды. Очень доходчиво объясняете.
Процветание вашему каналу!!!
Спасибо огромное.Класс!!! Все понятно и доходчиво!!!
Это по-моему единственное видео, где подробно рассказывается именно самое начало, что делать и куда нажимать... для новичков идеально
Согласен!
Не согласен. За фьюзы ни слова
Согласен 👍
Не единственное. Но одно из немногих!!!
@@Максим-ф9ъ5х , согласен, новичёк должен начинать с фьюзов! Как сделает несколько кирпичиков с контроллеров- тогда можно переходить к изучению основ.
Огромное спасибо! Очень доходчиво, кратко и понятно! Творческих успехов!!!
Сразу видно, музыкант автор канала. Это не диез, а решетка в простонародии, но мы-то с тобой закончили по как минимум 5 лет чтобы выучить это сольфеджио
Мне понравилось. Надеюсь дальше так же понятно все будет.
Прекрасный урок, спасибо!
Хорошее видео для начинающих
Изключително полезна тема!
Наконец-то практика!
Для тех кто до этого работал на ардуино, не обязательно качать и устанавливать АТМЕЛ СТУДИО потому что
Ардуино иде полностью принимает и компилирует чистый си.
Большое спасибо!
Внятно и понятно) спасибо
ComputerCraft вспомнился. Только Data Direction Register, и Port Data Register выбираются в аргументах функций redstone.setOutput("side", bool)/redstone.getInput("side")
Где "side" - сторона кубика-"компьютера" служащая портом ввода-вывода.
Ну и язык там урезанный lua, а не c.
Но в принципе похоже.
спасибо за труд
Здравствуйте. Подскажите а есть ил у Вас видео для pic микроконтроллеров и насколько рентабельно или сейчас заниматься, и насколько похоже их программирование.
После компиляции выдаёт ошибку - "recipe for target 'main.o' failed". Помогите пожалуйста)
8:51 "знак диез"... Вы в прошлом музыкант?))))) Все обычно решеткой называют, а тут родное слово)
*02:01** Features - фичес* _(англ.),_ *фичерс* _(амер.)_
8:10 "На практике использование комментариев являеться хорошим тоном" - не правда, их использование оправдано только для предупреждения и сложного алгоритма, в книге Чистый Код это подробно описано
Лайк за диез !
Благодарю
жаль все это на винде... приходится настраивать под linux environment..
Дмитрий, а из Atmel Studio 7 прошивать можно? Если да то как?
А чем отличаются GCC C Executable, GCC C Static, GCC C++ Executable и GCC C++ Static ?
видео для новичков с базовыми понятими программирования. Так хорошо, но если бы я уже не пытался изучать пайтон, хтмл то ничего бы не понял. А принцип работы мк а особенно РЕГИСТРОВ лучше всего объснено тут home.roboticlab.eu/ru/avr/registers
Комментарий не является кодом? Нуу, далеко не всегда. В Бейсике ZX-Spectrum-а, например, очень даже является. Эту фичу очень активно использовали программисты (особенно демо-мейкеры) в 90х-00х, размещая непосредственно в комментариях исполняемый машинный код.
Очень жаль что автор не продолжает канал. Очень жаль.
уважаемый а чем лучше писать код напрямую по сравнению с работой через флоукод ?
Автор, с каких пор while - это функция? И уж тем более какой ещё приоритет?
Оператор же?
Доброго дня.
Меня интересует вывод информации с микроконтроллера о напряжении непосредственно в Excel на компьютере.
У Вас есть что-нибудь по этому вопросу,
Если да, сориентируйте пожалуйста, какой урок?
Возможно что-то посоветуете?
Чайники в области микроконтроллеров далеко не всегда чайники в программировании Си/c++. Синтаксис можно было и не объяснять))
Не все люди знакомы с языками программирования.
Интересно как в Протеусе симулировать работу сенсорной кнопки на аналоговых входах? Чтобы контакты работали как TouchPIN в ESP32. Видимо никак.
*С НОВЫМ ГОДОМ ! Подскажите пожалуйста как на ассемблере выводы РА6 и РА7 сделать чтобы работали на выход для управления светодиодами микроконтроллер PIC16F628A*
Все сделал как у вас один в один, но в конце выдаёт ошибку( Error recipe for target 'main.o' failed )
Подскажите как сделать вкл-выкл светодиода кнопкой на attyni13.? Команды назначения порта интересуют
Сколько не старался,не получается как у Вас чтобы также легко открылось окно с текстовым редактором и шаблоном в atmel studio 7. Может где-то в настройках надо какую либо опцию автозагрузки включить? Подскажите если не трудно...
Нужно при создании проекта выбрать gcc c executable project
А есть видио про основы етой професии, чтоб понят с какими сложностями прийдеться сталкиваться при обучении, какойто план обучения чтоб понять сколько + - по времени надо чтоб обучиться до периода когда это уже тебя не отпустит, чтоб не забросить, может есть какието програмки симуляторы устройств микроконтролеров, чтоб скучно небыло, Спасибо!
В транзистор тестере сгорает один из входов 328р.
Как перепрограмировать работу с другого входа?
atmega можно найти, не проблема. а где достать STM32 и остальные, им подобные? ну кроме snapdragon`ов и MTK они там изготавливаются под конкретное устройство.
13:00
Откуда можно узнать что обращение к порту B надо записывать как DDRB, к C как DDRC и т.д? Это хорошо что автор ролика это уже знает, но откуда начинающий самостоятельно может получить эту информацию?
Изучая по книгам язык С/С++ и изучая официальный даташит на МК
10,00 Круглые скобки не служат ИДЕНТИФИКАТОРОМ функции. Ошибка.
объяснены такие мелочи вроде комментариев... а если я не знаю что такое анод и катод??
Очень понравилось видео - все понятно и доступно, но есть один вопрос. Решил подобное повторить в программе WinAVR там пришлось прописывать еще вот это #include и без этого компилятор выдает ошибку. Почему в Atmel Studio этого не нужно прописывать?
Точно не знаю, но наверное это связано тем, что WinAVR автоматически записывает функцию _delay_ms() в код.
Насколько я понимаю, то при такой инициализации порта в итоге будет следующее: пины 7,6,5,4,3,2,1 станут входом, а пин 0 станет выходом. Наверное правильней будет работать с побитовым сдвигом. Таким образом инициализировать только нужный пин, не затрагивая остальные.
Эту тему Дмитрий разбирает в побитовых операциях.
А где находится файл ( путь) avr/io.h? Очень буду благодарен.
в папке include компилятора, который использует Atmel Studio
Я в джава пробовал объявить в коменте переменную потом её вызвать в проге , так она вроде как вызвалась но с ошибкой ( не было сообщения что переменка не существует, значит комменты можно ис пользовать при необходимости ).
это багованная версия джавы была)) Комменты должны игнорироваться компилятором.
👍👍👍
здравствуйте,какая разница? между Atmega8 и Atmega8A
Буква "А".
В частности, Расширен диапазон по напряжению. Как и 8L напряжение от 2,7 В , но частота до 16 МГц. Это более поздняя (модифицированная) версия восьмерки
Объясните пожалуйста разницу между GCC C Executable Project и GCC C Static Project.
Что такое не полный вывод?
А на плюсах писать можно? или только на С?
Как найти эту Atmega8 в шаблоне VisualGDB
Здраствуйте, есть какая то альтернатива протеусу? А он платный и стоит не мало.
На орг треккере лежит бесплатно
Здравствуйте,у меня возникла проблема при запуске в протеус.В атмелстудио отладил ваш код,а когда захожу в протеус и начинаю отлаживать схему с кодом,протеус выдает ошибку и светодиоды не мигают,почему так?может я непоавильно создаю новый файл,или как то в настройках можно исправить?В общем мне нужна ваша помошь
У меня тоже Протеус не работает как у автора, выдаёт много ошибок,посмотрел несколько видео для настройке для питания.Их исправил но светодиод не горит. Примерно понял проблему, Протеус платный,Платишь и он будет работать, когда посмотрел цены на год -- $801 😐.
Плюсую, хоть и для дураков, но у другого я не понял( сразу про прерывания там было, задержки, ппц. Хотя может дело во мне
Так и не понял как настраивать порты (. Показывает одно, а пишет другое... (
Подскажите пожалуйста как подключить вкладку gcc c
Функция while() не имеет приоритета! Если мы зажгем светодиод до функции while(), а внутри функции его потушим то светодиод будет загоратся на очень короткое время 1 раз при старте программы и мы этого просто не увидим.
while это цикл, цифра 1 которая стоит в круглых скобках говорит о том что цикл бесконечный. Соответственно включенный ранее светодиод будет постоянно включаться, если внутри цикла не будет какого нибудь оператора ветвления с условием, в котором мы будем отключать светодиод.
Ты не объяснил главное - что такое режим входа и выхода
While вроде не функция, а цикл
Вы будите делать видео для Ардуино и про среду программирования Ардуино ИДЕ?
Justlove
А assembler будет? 1010011010
7:50 мышечная память пальцев знает что вводить...
😂
4:15
Очень круто, но не понятно:(
атмел с 2016 нету =) микрочип рлит. кое как нашел атмел студио =)
Всем привет, а я могу выбрать GCC C++ Executable Project, чтобы прогать на C++ вместо C? Время видео 4:55
а мині поможете
На русском даташит встречал кто-нибудь? Или не бывает? Я новичок.
есть такой,. только искать надо. Есть на тини2313 и на мегу8 в сети
На атмегу 128 тоже пробегал
я тупой
Чёрт побери....СЛАВА УКРАИНЕ!, щiро дякую тобi, пан Дмiтро. Ты сам собi допомог
Это не твое видео
Мой мозг как новичка не выдерживает. Ничего не понятно.
Я очень благодарен автору, за такие классные видио уроки! Очень доходчиво , мне как начинающему в этом деле. Желаю Вам крепкого здоровья! Не бросайте снимать видио уроки.Вы очень хороший учитель! Мне 56, и я обязательно научусь!
Очень классный канал! Большое спасибо! Сейчас вашим видео поделюсь с друзьями! Не останавливайтесь, у вас получается отлично объяснять столь непонятную информацию. Все так дословно, каждый символ разобрали! Каждую скобочку!
Прекрасный урок!!! Однако.... Слишком режут ухо фразы, в которых говорится, что WHILE это функция. While это конструкция цикла. Функции это совсем другое. Для Вас как для грамотного человека данная мелочь не играет роли, а вот для новичков это направление по ложному пути. Не сочтите комментарий за негатив, просто я преподаватель по программированию МК и просматриваю множество уроков, для оптимизации учебной дисциплины. Спасибо за Ваш труд!!!