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.
Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/
Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/
Это по-моему единственное видео, где подробно рассказывается именно самое начало, что делать и куда нажимать... для новичков идеально
Согласен!
Не согласен. За фьюзы ни слова
Согласен 👍
Не единственное. Но одно из немногих!!!
@@user-bi5sp9bd6y , согласен, новичёк должен начинать с фьюзов! Как сделает несколько кирпичиков с контроллеров- тогда можно переходить к изучению основ.
Какие замечательные у Вас уроки. Мне 55 лет. Я с удовольствием пополняю свои знания.
Я очень благодарен автору, за такие классные видио уроки! Очень доходчиво , мне как начинающему в этом деле. Желаю Вам крепкого здоровья! Не бросайте снимать видио уроки.Вы очень хороший учитель! Мне 56, и я обязательно научусь!
лучший канал на ютубе по изучению микроконтроллеров!!!
СПАСИБО !!!!
Добрый день. Дмитрий, Вы действительно заслуживаете похвалы. Далеко не каждый, знающий своё дело технарь, может так грамотно и доходчиво по сути читать лекции. Вы по жизни где-то преподаёте? В институте, в школе? Любопытен Ваш возраст с профессиональной точки зрения. Обескураживает факт наличия специфических технических знаний и умение их преподнести. Сразу видно, человек разбирается в том, о чем рассказывает и делает это очень даже профессионально.
Господи, храни етого человека...
Так внятно, кратко, по сути, компетентно рассказано. Очень круто. Спасибо Вам большое.
Спасибо за труды!
Желаю много идей для видео.
Ждём новых видео с нетерпением.
Вы редкостный хороший человек!
Ещё раз спасибо.
Буду смотреть все видео не по по одному разу...
Сразу видно, музыкант автор канала. Это не диез, а решетка в простонародии, но мы-то с тобой закончили по как минимум 5 лет чтобы выучить это сольфеджио
Восхищён! Чётко, ясно и понятно!!! Так держать!
Дмитрий, спасибо Вам большое за Ваши ролики. Ну почему в вузе учат всякую ерунду, а не то, что нужно!
Очень классный канал! Большое спасибо! Сейчас вашим видео поделюсь с друзьями! Не останавливайтесь, у вас получается отлично объяснять столь непонятную информацию. Все так дословно, каждый символ разобрали! Каждую скобочку!
Спасибо за Ваши труды. Очень доходчиво объясняете.
Спасибо огромное.Класс!!! Все понятно и доходчиво!!!
Процветание вашему каналу!!!
Огромное спасибо! Очень доходчиво, кратко и понятно! Творческих успехов!!!
Мне понравилось. Надеюсь дальше так же понятно все будет.
Прекрасный урок, спасибо!
Для тех кто до этого работал на ардуино, не обязательно качать и устанавливать АТМЕЛ СТУДИО потому что
Ардуино иде полностью принимает и компилирует чистый си.
Хорошее видео для начинающих
Наконец-то практика!
Изключително полезна тема!
ComputerCraft вспомнился. Только Data Direction Register, и Port Data Register выбираются в аргументах функций redstone.setOutput("side", bool)/redstone.getInput("side")
Где "side" - сторона кубика-"компьютера" служащая портом ввода-вывода.
Ну и язык там урезанный lua, а не c.
Но в принципе похоже.
Большое спасибо!
Внятно и понятно) спасибо
Прекрасный урок!!! Однако.... Слишком режут ухо фразы, в которых говорится, что WHILE это функция. While это конструкция цикла. Функции это совсем другое. Для Вас как для грамотного человека данная мелочь не играет роли, а вот для новичков это направление по ложному пути. Не сочтите комментарий за негатив, просто я преподаватель по программированию МК и просматриваю множество уроков, для оптимизации учебной дисциплины. Спасибо за Ваш труд!!!
*02:01** Features - фичес* _(англ.),_ *фичерс* _(амер.)_
спасибо за труд
8:51 "знак диез"... Вы в прошлом музыкант?))))) Все обычно решеткой называют, а тут родное слово)
После компиляции выдаёт ошибку - "recipe for target 'main.o' failed". Помогите пожалуйста)
8:10 "На практике использование комментариев являеться хорошим тоном" - не правда, их использование оправдано только для предупреждения и сложного алгоритма, в книге Чистый Код это подробно описано
жаль все это на винде... приходится настраивать под linux environment..
Комментарий не является кодом? Нуу, далеко не всегда. В Бейсике ZX-Spectrum-а, например, очень даже является. Эту фичу очень активно использовали программисты (особенно демо-мейкеры) в 90х-00х, размещая непосредственно в комментариях исполняемый машинный код.
Лайк за диез !
Очень жаль что автор не продолжает канал. Очень жаль.
Благодарю
Чайники в области микроконтроллеров далеко не всегда чайники в программировании Си/c++. Синтаксис можно было и не объяснять))
Не все люди знакомы с языками программирования.
А чем отличаются GCC C Executable, GCC C Static, GCC C++ Executable и GCC C++ Static ?
видео для новичков с базовыми понятими программирования. Так хорошо, но если бы я уже не пытался изучать пайтон, хтмл то ничего бы не понял. А принцип работы мк а особенно РЕГИСТРОВ лучше всего объснено тут home.roboticlab.eu/ru/avr/registers
Автор, с каких пор while - это функция? И уж тем более какой ещё приоритет?
Оператор же?
Здравствуйте. Подскажите а есть ил у Вас видео для pic микроконтроллеров и насколько рентабельно или сейчас заниматься, и насколько похоже их программирование.
Я в джава пробовал объявить в коменте переменную потом её вызвать в проге , так она вроде как вызвалась но с ошибкой ( не было сообщения что переменка не существует, значит комменты можно ис пользовать при необходимости ).
это багованная версия джавы была)) Комменты должны игнорироваться компилятором.
7:50 мышечная память пальцев знает что вводить...
👍👍👍
Насколько я понимаю, то при такой инициализации порта в итоге будет следующее: пины 7,6,5,4,3,2,1 станут входом, а пин 0 станет выходом. Наверное правильней будет работать с побитовым сдвигом. Таким образом инициализировать только нужный пин, не затрагивая остальные.
Эту тему Дмитрий разбирает в побитовых операциях.
*С НОВЫМ ГОДОМ ! Подскажите пожалуйста как на ассемблере выводы РА6 и РА7 сделать чтобы работали на выход для управления светодиодами микроконтроллер PIC16F628A*
Интересно как в Протеусе симулировать работу сенсорной кнопки на аналоговых входах? Чтобы контакты работали как TouchPIN в ESP32. Видимо никак.
Дмитрий, а из Atmel Studio 7 прошивать можно? Если да то как?
Доброго дня.
Меня интересует вывод информации с микроконтроллера о напряжении непосредственно в Excel на компьютере.
У Вас есть что-нибудь по этому вопросу,
Если да, сориентируйте пожалуйста, какой урок?
Возможно что-то посоветуете?
А есть видио про основы етой професии, чтоб понят с какими сложностями прийдеться сталкиваться при обучении, какойто план обучения чтоб понять сколько + - по времени надо чтоб обучиться до периода когда это уже тебя не отпустит, чтоб не забросить, может есть какието програмки симуляторы устройств микроконтролеров, чтоб скучно небыло, Спасибо!
Подскажите как сделать вкл-выкл светодиода кнопкой на attyni13.? Команды назначения порта интересуют
В транзистор тестере сгорает один из входов 328р.
Как перепрограмировать работу с другого входа?
объяснены такие мелочи вроде комментариев... а если я не знаю что такое анод и катод??
здравствуйте,какая разница? между Atmega8 и Atmega8A
Буква "А".
В частности, Расширен диапазон по напряжению. Как и 8L напряжение от 2,7 В , но частота до 16 МГц. Это более поздняя (модифицированная) версия восьмерки
atmega можно найти, не проблема. а где достать STM32 и остальные, им подобные? ну кроме snapdragon`ов и MTK они там изготавливаются под конкретное устройство.
А где находится файл ( путь) avr/io.h? Очень буду благодарен.
в папке include компилятора, который использует Atmel Studio
Все сделал как у вас один в один, но в конце выдаёт ошибку( Error recipe for target 'main.o' failed )
Что такое не полный вывод?
Как найти эту Atmega8 в шаблоне VisualGDB
10,00 Круглые скобки не служат ИДЕНТИФИКАТОРОМ функции. Ошибка.
А на плюсах писать можно? или только на С?
Сколько не старался,не получается как у Вас чтобы также легко открылось окно с текстовым редактором и шаблоном в atmel studio 7. Может где-то в настройках надо какую либо опцию автозагрузки включить? Подскажите если не трудно...
Нужно при создании проекта выбрать gcc c executable project
Очень понравилось видео - все понятно и доступно, но есть один вопрос. Решил подобное повторить в программе WinAVR там пришлось прописывать еще вот это #include и без этого компилятор выдает ошибку. Почему в Atmel Studio этого не нужно прописывать?
Точно не знаю, но наверное это связано тем, что WinAVR автоматически записывает функцию _delay_ms() в код.
Объясните пожалуйста разницу между GCC C Executable Project и GCC C Static Project.
Плюсую, хоть и для дураков, но у другого я не понял( сразу про прерывания там было, задержки, ппц. Хотя может дело во мне
Justlove
13:00
Откуда можно узнать что обращение к порту B надо записывать как DDRB, к C как DDRC и т.д? Это хорошо что автор ролика это уже знает, но откуда начинающий самостоятельно может получить эту информацию?
Изучая по книгам язык С/С++ и изучая официальный даташит на МК
While вроде не функция, а цикл
Вы будите делать видео для Ардуино и про среду программирования Ардуино ИДЕ?
Подскажите пожалуйста как подключить вкладку gcc c
Здраствуйте, есть какая то альтернатива протеусу? А он платный и стоит не мало.
На орг треккере лежит бесплатно
Так и не понял как настраивать порты (. Показывает одно, а пишет другое... (
Ты не объяснил главное - что такое режим входа и выхода
Функция while() не имеет приоритета! Если мы зажгем светодиод до функции while(), а внутри функции его потушим то светодиод будет загоратся на очень короткое время 1 раз при старте программы и мы этого просто не увидим.
while это цикл, цифра 1 которая стоит в круглых скобках говорит о том что цикл бесконечный. Соответственно включенный ранее светодиод будет постоянно включаться, если внутри цикла не будет какого нибудь оператора ветвления с условием, в котором мы будем отключать светодиод.
Здравствуйте,у меня возникла проблема при запуске в протеус.В атмелстудио отладил ваш код,а когда захожу в протеус и начинаю отлаживать схему с кодом,протеус выдает ошибку и светодиоды не мигают,почему так?может я непоавильно создаю новый файл,или как то в настройках можно исправить?В общем мне нужна ваша помошь
У меня тоже Протеус не работает как у автора, выдаёт много ошибок,посмотрел несколько видео для настройке для питания.Их исправил но светодиод не горит. Примерно понял проблему, Протеус платный,Платишь и он будет работать, когда посмотрел цены на год -- $801 😐.
А assembler будет? 1010011010
Очень круто, но не понятно:(
4:15
атмел с 2016 нету =) микрочип рлит. кое как нашел атмел студио =)
Всем привет, а я могу выбрать GCC C++ Executable Project, чтобы прогать на C++ вместо C? Время видео 4:55
а мині поможете
На русском даташит встречал кто-нибудь? Или не бывает? Я новичок.
есть такой,. только искать надо. Есть на тини2313 и на мегу8 в сети
На атмегу 128 тоже пробегал
Это не твое видео
я тупой
Мой мозг как новичка не выдерживает. Ничего не понятно.
Чёрт побери....СЛАВА УКРАИНЕ!, щiро дякую тобi, пан Дмiтро. Ты сам собi допомог