I / O Ports | The first program | Microcontrollers from scratch #4

Поделиться
HTML-код
  • Опубликовано: 9 сен 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.

Комментарии • 112

  • @user-li4xh9fi6w
    @user-li4xh9fi6w  3 года назад +4

    Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/
    Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/

  • @designecca
    @designecca 6 лет назад +100

    Это по-моему единственное видео, где подробно рассказывается именно самое начало, что делать и куда нажимать... для новичков идеально

    • @user-is4ke2rw3o
      @user-is4ke2rw3o 5 лет назад +3

      Согласен!

    • @user-bi5sp9bd6y
      @user-bi5sp9bd6y 4 года назад

      Не согласен. За фьюзы ни слова

    • @wasony.126
      @wasony.126 3 года назад +1

      Согласен 👍

    • @ivans1917
      @ivans1917 2 года назад

      Не единственное. Но одно из немногих!!!

    • @user-nv1jp4wm1d
      @user-nv1jp4wm1d 2 года назад

      @@user-bi5sp9bd6y , согласен, новичёк должен начинать с фьюзов! Как сделает несколько кирпичиков с контроллеров- тогда можно переходить к изучению основ.

  • @GennadiyBurda
    @GennadiyBurda Год назад +1

    Какие замечательные у Вас уроки. Мне 55 лет. Я с удовольствием пополняю свои знания.

  • @user-oj3tt4zo3v
    @user-oj3tt4zo3v 3 года назад +8

    Я очень благодарен автору, за такие классные видио уроки! Очень доходчиво , мне как начинающему в этом деле. Желаю Вам крепкого здоровья! Не бросайте снимать видио уроки.Вы очень хороший учитель! Мне 56, и я обязательно научусь!

  • @varerik82
    @varerik82 5 лет назад +22

    лучший канал на ютубе по изучению микроконтроллеров!!!
    СПАСИБО !!!!

  • @ivans1917
    @ivans1917 2 года назад +8

    Добрый день. Дмитрий, Вы действительно заслуживаете похвалы. Далеко не каждый, знающий своё дело технарь, может так грамотно и доходчиво по сути читать лекции. Вы по жизни где-то преподаёте? В институте, в школе? Любопытен Ваш возраст с профессиональной точки зрения. Обескураживает факт наличия специфических технических знаний и умение их преподнести. Сразу видно, человек разбирается в том, о чем рассказывает и делает это очень даже профессионально.

  • @Kostya_Mm
    @Kostya_Mm 3 года назад +3

    Господи, храни етого человека...

  • @zewsvintage
    @zewsvintage 5 лет назад +7

    Так внятно, кратко, по сути, компетентно рассказано. Очень круто. Спасибо Вам большое.

  • @Rin_Media
    @Rin_Media 4 года назад +9

    Спасибо за труды!
    Желаю много идей для видео.
    Ждём новых видео с нетерпением.
    Вы редкостный хороший человек!
    Ещё раз спасибо.
    Буду смотреть все видео не по по одному разу...

  • @dmax_
    @dmax_ 5 лет назад +5

    Сразу видно, музыкант автор канала. Это не диез, а решетка в простонародии, но мы-то с тобой закончили по как минимум 5 лет чтобы выучить это сольфеджио

  • @user-fo5he7ph9e
    @user-fo5he7ph9e 3 года назад +2

    Восхищён! Чётко, ясно и понятно!!! Так держать!

  • @NK-pg6im
    @NK-pg6im 2 года назад +1

    Дмитрий, спасибо Вам большое за Ваши ролики. Ну почему в вузе учат всякую ерунду, а не то, что нужно!

  • @DOMINATOR-ou8nz
    @DOMINATOR-ou8nz 5 лет назад +10

    Очень классный канал! Большое спасибо! Сейчас вашим видео поделюсь с друзьями! Не останавливайтесь, у вас получается отлично объяснять столь непонятную информацию. Все так дословно, каждый символ разобрали! Каждую скобочку!

  • @lexa8527
    @lexa8527 3 года назад +2

    Спасибо за Ваши труды. Очень доходчиво объясняете.

  • @alesandryabov6478
    @alesandryabov6478 5 лет назад +8

    Спасибо огромное.Класс!!! Все понятно и доходчиво!!!

  • @user-od3gf6kb1d
    @user-od3gf6kb1d 4 года назад +2

    Процветание вашему каналу!!!

  • @user-su8kl8gv9h
    @user-su8kl8gv9h 5 лет назад +4

    Огромное спасибо! Очень доходчиво, кратко и понятно! Творческих успехов!!!

  • @olegrusski8646
    @olegrusski8646 4 года назад +1

    Мне понравилось. Надеюсь дальше так же понятно все будет.

  • @andrey_elektron
    @andrey_elektron Год назад

    Прекрасный урок, спасибо!

  • @abduraufabdiev7600
    @abduraufabdiev7600 4 года назад +3

    Для тех кто до этого работал на ардуино, не обязательно качать и устанавливать АТМЕЛ СТУДИО потому что
    Ардуино иде полностью принимает и компилирует чистый си.

  • @xtereone
    @xtereone Год назад

    Хорошее видео для начинающих

  • @markbeaver4806
    @markbeaver4806 Год назад

    Наконец-то практика!

  • @user-yz2my6kp5i
    @user-yz2my6kp5i 5 лет назад +1

    Изключително полезна тема!

  • @user-gn7gc8gf4y
    @user-gn7gc8gf4y 4 года назад +1

    ComputerCraft вспомнился. Только Data Direction Register, и Port Data Register выбираются в аргументах функций redstone.setOutput("side", bool)/redstone.getInput("side")
    Где "side" - сторона кубика-"компьютера" служащая портом ввода-вывода.

    • @user-gn7gc8gf4y
      @user-gn7gc8gf4y 4 года назад

      Ну и язык там урезанный lua, а не c.
      Но в принципе похоже.

  • @igorpoll2134
    @igorpoll2134 2 месяца назад

    Большое спасибо!

  • @mr-john43850
    @mr-john43850 3 года назад

    Внятно и понятно) спасибо

  • @petrsidorov3489
    @petrsidorov3489 6 месяцев назад +1

    Прекрасный урок!!! Однако.... Слишком режут ухо фразы, в которых говорится, что WHILE это функция. While это конструкция цикла. Функции это совсем другое. Для Вас как для грамотного человека данная мелочь не играет роли, а вот для новичков это направление по ложному пути. Не сочтите комментарий за негатив, просто я преподаватель по программированию МК и просматриваю множество уроков, для оптимизации учебной дисциплины. Спасибо за Ваш труд!!!

  • @farkhadshay9569
    @farkhadshay9569 3 года назад +1

    *02:01** Features - фичес* _(англ.),_ *фичерс* _(амер.)_

  • @Vadim_L.A
    @Vadim_L.A 3 года назад

    спасибо за труд

  • @user-mr6vv1bk5k
    @user-mr6vv1bk5k 9 месяцев назад

    8:51 "знак диез"... Вы в прошлом музыкант?))))) Все обычно решеткой называют, а тут родное слово)

  • @bazlevich
    @bazlevich 4 года назад +3

    После компиляции выдаёт ошибку - "recipe for target 'main.o' failed". Помогите пожалуйста)

  • @xtereone
    @xtereone Год назад

    8:10 "На практике использование комментариев являеться хорошим тоном" - не правда, их использование оправдано только для предупреждения и сложного алгоритма, в книге Чистый Код это подробно описано

  • @kirillshvedov8417
    @kirillshvedov8417 3 года назад +2

    жаль все это на винде... приходится настраивать под linux environment..

  • @alexbem6677
    @alexbem6677 3 года назад +1

    Комментарий не является кодом? Нуу, далеко не всегда. В Бейсике ZX-Spectrum-а, например, очень даже является. Эту фичу очень активно использовали программисты (особенно демо-мейкеры) в 90х-00х, размещая непосредственно в комментариях исполняемый машинный код.

  • @dimitryrusu4022
    @dimitryrusu4022 4 года назад

    Лайк за диез !

  • @alexandersperling5728
    @alexandersperling5728 Год назад

    Очень жаль что автор не продолжает канал. Очень жаль.

  • @Yuzikwen
    @Yuzikwen 4 года назад

    Благодарю

  • @user-dw6mx7zw1q
    @user-dw6mx7zw1q 5 лет назад +5

    Чайники в области микроконтроллеров далеко не всегда чайники в программировании Си/c++. Синтаксис можно было и не объяснять))

    • @Just_du_de
      @Just_du_de 3 года назад

      Не все люди знакомы с языками программирования.

  • @user-kw8mf8xz5w
    @user-kw8mf8xz5w 5 лет назад +1

    А чем отличаются GCC C Executable, GCC C Static, GCC C++ Executable и GCC C++ Static ?

  • @AleksandrUlyanovsk
    @AleksandrUlyanovsk 4 года назад +1

    видео для новичков с базовыми понятими программирования. Так хорошо, но если бы я уже не пытался изучать пайтон, хтмл то ничего бы не понял. А принцип работы мк а особенно РЕГИСТРОВ лучше всего объснено тут home.roboticlab.eu/ru/avr/registers

  • @Buru-nyuu
    @Buru-nyuu 5 лет назад +3

    Автор, с каких пор while - это функция? И уж тем более какой ещё приоритет?

  • @maxichannel9080
    @maxichannel9080 7 месяцев назад

    Здравствуйте. Подскажите а есть ил у Вас видео для pic микроконтроллеров и насколько рентабельно или сейчас заниматься, и насколько похоже их программирование.

  • @Klagerh
    @Klagerh 3 года назад

    Я в джава пробовал объявить в коменте переменную потом её вызвать в проге , так она вроде как вызвалась но с ошибкой ( не было сообщения что переменка не существует, значит комменты можно ис пользовать при необходимости ).

    • @Tolyan991
      @Tolyan991 2 года назад +1

      это багованная версия джавы была)) Комменты должны игнорироваться компилятором.

  • @Sweet-kc1oz
    @Sweet-kc1oz Год назад

    7:50 мышечная память пальцев знает что вводить...

  • @xayrullaegamnazarov395
    @xayrullaegamnazarov395 3 года назад

    👍👍👍

  • @alekseybazilevich1368
    @alekseybazilevich1368 4 года назад

    Насколько я понимаю, то при такой инициализации порта в итоге будет следующее: пины 7,6,5,4,3,2,1 станут входом, а пин 0 станет выходом. Наверное правильней будет работать с побитовым сдвигом. Таким образом инициализировать только нужный пин, не затрагивая остальные.

    • @NK-pg6im
      @NK-pg6im Год назад

      Эту тему Дмитрий разбирает в побитовых операциях.

  • @CAN7331
    @CAN7331 Год назад

    *С НОВЫМ ГОДОМ ! Подскажите пожалуйста как на ассемблере выводы РА6 и РА7 сделать чтобы работали на выход для управления светодиодами микроконтроллер PIC16F628A*

  • @sergeyrink3003
    @sergeyrink3003 4 года назад

    Интересно как в Протеусе симулировать работу сенсорной кнопки на аналоговых входах? Чтобы контакты работали как TouchPIN в ESP32. Видимо никак.

  • @valerikornilo1797
    @valerikornilo1797 8 месяцев назад

    Дмитрий, а из Atmel Studio 7 прошивать можно? Если да то как?

  • @Yuri_Nd
    @Yuri_Nd 2 года назад

    Доброго дня.
    Меня интересует вывод информации с микроконтроллера о напряжении непосредственно в Excel на компьютере.
    У Вас есть что-нибудь по этому вопросу,
    Если да, сориентируйте пожалуйста, какой урок?
    Возможно что-то посоветуете?

  • @moratoPg
    @moratoPg 3 года назад +1

    А есть видио про основы етой професии, чтоб понят с какими сложностями прийдеться сталкиваться при обучении, какойто план обучения чтоб понять сколько + - по времени надо чтоб обучиться до периода когда это уже тебя не отпустит, чтоб не забросить, может есть какието програмки симуляторы устройств микроконтролеров, чтоб скучно небыло, Спасибо!

  • @sysanooalex9251
    @sysanooalex9251 4 года назад

    Подскажите как сделать вкл-выкл светодиода кнопкой на attyni13.? Команды назначения порта интересуют

  • @user-gn8pr6ft1h
    @user-gn8pr6ft1h 3 года назад

    В транзистор тестере сгорает один из входов 328р.
    Как перепрограмировать работу с другого входа?

  • @dimitryrusu4022
    @dimitryrusu4022 4 года назад

    объяснены такие мелочи вроде комментариев... а если я не знаю что такое анод и катод??

  • @Karen-hx6pe
    @Karen-hx6pe 5 лет назад +3

    здравствуйте,какая разница? между Atmega8 и Atmega8A

    • @KotBasil1o
      @KotBasil1o 5 лет назад +5

      Буква "А".

    • @ivans3359
      @ivans3359 4 года назад +2

      В частности, Расширен диапазон по напряжению. Как и 8L напряжение от 2,7 В , но частота до 16 МГц. Это более поздняя (модифицированная) версия восьмерки

  • @elf12386
    @elf12386 2 года назад

    atmega можно найти, не проблема. а где достать STM32 и остальные, им подобные? ну кроме snapdragon`ов и MTK они там изготавливаются под конкретное устройство.

  • @user-eq6vz5uo1v
    @user-eq6vz5uo1v 5 лет назад +2

    А где находится файл ( путь) avr/io.h? Очень буду благодарен.

    • @Tolyan991
      @Tolyan991 3 года назад

      в папке include компилятора, который использует Atmel Studio

  • @user-gf8nq5ii3v
    @user-gf8nq5ii3v 9 месяцев назад

    Все сделал как у вас один в один, но в конце выдаёт ошибку( Error recipe for target 'main.o' failed )

  • @muhammadxojasaidakbarov1194
    @muhammadxojasaidakbarov1194 3 года назад +1

    Что такое не полный вывод?

  • @Stronble
    @Stronble 4 года назад

    Как найти эту Atmega8 в шаблоне VisualGDB

  • @user-oh6yz3ug8n
    @user-oh6yz3ug8n Год назад

    10,00 Круглые скобки не служат ИДЕНТИФИКАТОРОМ функции. Ошибка.

  • @user-ck9uf6pw6j
    @user-ck9uf6pw6j 4 года назад +1

    А на плюсах писать можно? или только на С?

  • @AnatoliiNikolaev
    @AnatoliiNikolaev Год назад

    Сколько не старался,не получается как у Вас чтобы также легко открылось окно с текстовым редактором и шаблоном в atmel studio 7. Может где-то в настройках надо какую либо опцию автозагрузки включить? Подскажите если не трудно...

    • @alexss4146
      @alexss4146 Год назад

      Нужно при создании проекта выбрать gcc c executable project

  • @user-lc5uw7pv7v
    @user-lc5uw7pv7v 3 года назад

    Очень понравилось видео - все понятно и доступно, но есть один вопрос. Решил подобное повторить в программе WinAVR там пришлось прописывать еще вот это #include и без этого компилятор выдает ошибку. Почему в Atmel Studio этого не нужно прописывать?

    • @mikokz2329
      @mikokz2329 Год назад

      Точно не знаю, но наверное это связано тем, что WinAVR автоматически записывает функцию _delay_ms() в код.

  • @magadan4626
    @magadan4626 6 лет назад

    Объясните пожалуйста разницу между GCC C Executable Project и GCC C Static Project.

  • @GrafKarlsonskiy
    @GrafKarlsonskiy 5 лет назад +1

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

  • @amurlamur3125
    @amurlamur3125 3 года назад

    Justlove

  • @AlexAlex-fo9gt
    @AlexAlex-fo9gt 3 года назад

    13:00
    Откуда можно узнать что обращение к порту B надо записывать как DDRB, к C как DDRC и т.д? Это хорошо что автор ролика это уже знает, но откуда начинающий самостоятельно может получить эту информацию?

    • @romanbru9504
      @romanbru9504 2 года назад

      Изучая по книгам язык С/С++ и изучая официальный даташит на МК

  • @oldmaniroh5334
    @oldmaniroh5334 4 года назад +1

    While вроде не функция, а цикл

  • @user-rn1xs5ne1h
    @user-rn1xs5ne1h 5 лет назад +1

    Вы будите делать видео для Ардуино и про среду программирования Ардуино ИДЕ?

  • @user-mb6gv1df7c
    @user-mb6gv1df7c 5 лет назад

    Подскажите пожалуйста как подключить вкладку gcc c

  • @alexandr2521
    @alexandr2521 Год назад

    Здраствуйте, есть какая то альтернатива протеусу? А он платный и стоит не мало.

    • @Qwerty-ym7ty
      @Qwerty-ym7ty 7 месяцев назад

      На орг треккере лежит бесплатно

  • @user-zp2wp1xv1j
    @user-zp2wp1xv1j 3 года назад

    Так и не понял как настраивать порты (. Показывает одно, а пишет другое... (

  • @vatakiller
    @vatakiller 2 года назад

    Ты не объяснил главное - что такое режим входа и выхода

  • @reodos3
    @reodos3 5 лет назад +1

    Функция while() не имеет приоритета! Если мы зажгем светодиод до функции while(), а внутри функции его потушим то светодиод будет загоратся на очень короткое время 1 раз при старте программы и мы этого просто не увидим.

    • @Tolyan991
      @Tolyan991 3 года назад

      while это цикл, цифра 1 которая стоит в круглых скобках говорит о том что цикл бесконечный. Соответственно включенный ранее светодиод будет постоянно включаться, если внутри цикла не будет какого нибудь оператора ветвления с условием, в котором мы будем отключать светодиод.

  • @user-ps6mr6hz8l
    @user-ps6mr6hz8l 2 года назад

    Здравствуйте,у меня возникла проблема при запуске в протеус.В атмелстудио отладил ваш код,а когда захожу в протеус и начинаю отлаживать схему с кодом,протеус выдает ошибку и светодиоды не мигают,почему так?может я непоавильно создаю новый файл,или как то в настройках можно исправить?В общем мне нужна ваша помошь

    • @amusinov23
      @amusinov23 2 года назад

      У меня тоже Протеус не работает как у автора, выдаёт много ошибок,посмотрел несколько видео для настройке для питания.Их исправил но светодиод не горит. Примерно понял проблему, Протеус платный,Платишь и он будет работать, когда посмотрел цены на год -- $801 😐.

  • @user-ps6kz7vc2p
    @user-ps6kz7vc2p 2 года назад

    А assembler будет? 1010011010

  • @Slaughterhouse953
    @Slaughterhouse953 Год назад

    Очень круто, но не понятно:(

  • @Jamal_Malik
    @Jamal_Malik Год назад +1

    4:15

  • @nikolyakarlos7901
    @nikolyakarlos7901 2 года назад

    атмел с 2016 нету =) микрочип рлит. кое как нашел атмел студио =)

  • @xtereone
    @xtereone Год назад

    Всем привет, а я могу выбрать GCC C++ Executable Project, чтобы прогать на C++ вместо C? Время видео 4:55

  • @іванмазуряк
    @іванмазуряк Год назад

    а мині поможете

  • @Evgen_Ruban
    @Evgen_Ruban 4 года назад

    На русском даташит встречал кто-нибудь? Или не бывает? Я новичок.

    • @lvanovlvan
      @lvanovlvan 4 года назад

      есть такой,. только искать надо. Есть на тини2313 и на мегу8 в сети

    • @ivans3359
      @ivans3359 4 года назад

      На атмегу 128 тоже пробегал

  • @AbobaEboba
    @AbobaEboba 3 года назад

    Это не твое видео

  • @user-dc4lv3xg4m
    @user-dc4lv3xg4m 3 года назад

    я тупой

  • @usetoolspro9582
    @usetoolspro9582 4 года назад +1

    Мой мозг как новичка не выдерживает. Ничего не понятно.

  • @A_tree1886
    @A_tree1886 5 месяцев назад

    Чёрт побери....СЛАВА УКРАИНЕ!, щiро дякую тобi, пан Дмiтро. Ты сам собi допомог