External interrupts of a microcontroller | Microcontrollers from scratch # 14

  Рет қаралды 52,251

Dmitriy Zabarilo

Dmitriy Zabarilo

Күн бұрын

Пікірлер
@Программированиемикроконтролле
@Программированиемикроконтролле 3 жыл бұрын
Программирование микроконтроллеров. Полный курс для начинающих: diodov.net/programmirovanie-mikrokontrollerov-avr/ Электроника для начинающих. Мощный курс. diodov.net/elektronika-dlya-nachinayushhih/
@sazanof
@sazanof 5 жыл бұрын
Боже мой, как же круто слушать и видеть Ваши уроки. Как бальзам на душу)) Ну а кроме лирики, спасибо большое за то, что Вы делаете. За доступность материалов и за все детальные разъяснения. Даже будучи веб-разработчиком мне сложно переключится на МК, так как есть моменты, которые сложны для понимания, но с Вашим трудом оно как раз и приходит. В целом ещё только на этом уроке, однако хотелось бы чтобы в будущем Вы затронули тему приема и передачи по usart и spi.
@дигадвигуля
@дигадвигуля 6 жыл бұрын
только не оставляй avr, я смотрю здесь зрителей мало, но со временем может лучше станет. другие каналы смотрю, ну это пипец (мудня) какая-то. с нетерпением жду следующих уроков!!
@romanantonyk8452
@romanantonyk8452 6 жыл бұрын
Narod stream фуфло
@ИльяАрбузов-т7ь
@ИльяАрбузов-т7ь 5 жыл бұрын
Да нет, narod stream не фуфло, просто для более подготовленных. Там же автор сам пишет, подразумевается, что учащийся уже прошел курс C и некоторые вещи он не раскрывает . Хотя сам уровень материала более расширенный и сложный. Здесь конечно автор расжевывает все до мелочей, только проглотить.
@denniskatilov5891
@denniskatilov5891 4 жыл бұрын
Привет. Я редко оставляю комменты в сетях, но ради этого контента стоило залогиниться. Спасибо большое тебе, мужик, твои объяснения реально помогают понять что и как работает. Фактически благодаря тебе я начинаю разбираться в микроконтроллерах и сдаю лабы в универе! Ты крут. Успехов тебе во всех твоих начинаниях! С П А С И Б О !!!
@comfycomfy5637
@comfycomfy5637 Жыл бұрын
Всё!!!!Разобрался...Главное коменты до этого читал и не понял сразу о чем речь))
@DmitryR-pn1id
@DmitryR-pn1id 2 жыл бұрын
Хорошие уроки. Если кто-то будет делать схему на макетке, лучше отключить внешние прерывания на INT1. Вот так GICR = 0b01000000. Иначе МК зависает.
@ДанилЧисняков
@ДанилЧисняков Жыл бұрын
спасибо за данный комментарий, полчаса не мог разобраться что сделал не так, потому что после прерывания, нижний светодиод загорался, но потом цикл на мигалке начинался сначала, после того как убрал этот бит все заработало нормально)
@kusatel
@kusatel 6 жыл бұрын
Спасибо! Очень наглядно и последовательно)))
@ЕвгенийБондарев-к7ф
@ЕвгенийБондарев-к7ф Жыл бұрын
Очень ценный урок, однозначно палец вверх, как минимум))🎉
@MrSaanger
@MrSaanger 3 жыл бұрын
Большое тебе спасибо, Добрый человек!
@lgor3488
@lgor3488 Жыл бұрын
Спасибо за Ваши лекции! Очень доходчиво.
@artempogorelov2819
@artempogorelov2819 4 жыл бұрын
Спасибо Вам огромное за Ваши уроки
@madkaz09
@madkaz09 5 жыл бұрын
Спасибо! Очень подробно и содержательно.
@clashersupercelov2697
@clashersupercelov2697 2 жыл бұрын
Спасибо, добрый человек! Здоровья вам!
@ДмитроЯ-я6б
@ДмитроЯ-я6б 5 жыл бұрын
странно,но мне кажется,такое обьяснение и диванный программист поймет.Спасибо автору, содержательно.
@finskiymaster
@finskiymaster 4 жыл бұрын
всем, у кого после прерывания программа начинается сначала - подумайте, почему на 21:48, при старте программы, столбик светодиодов зажигается не сразу, а после того, как квадратик на ножке PD0 помигает 5 раз. и что бывает, когда прерывание включено, а обработчик не написан :)
@jimmyeatmeshuggah9472
@jimmyeatmeshuggah9472 3 жыл бұрын
добрый человек, а какие нужно сделать ещё надстройки для того, чтобы не было при запуске это херни на ножке PD0?) просто как в протеусе так и в железе начальный запуск сопровождается этой паузой на ножке PD0, пока не разобрался как убрать это
@finskiymaster
@finskiymaster 3 жыл бұрын
@@jimmyeatmeshuggah9472 пишите мне на почту, контакты у меня на канале в описании к видео
@jimmyeatmeshuggah9472
@jimmyeatmeshuggah9472 3 жыл бұрын
@@finskiymaster Уже разобрался, Денис, спасибо) Надо было просто инициализацию портов в главной функции поставить перед инициализацией внешнего прерывания
@ДанилЧисняков
@ДанилЧисняков Жыл бұрын
спасибо вам за подсказку!!!Весь день убил на все это. Пишу курсовой проект на ATmega162, используя все 3 пина внешних прерываний. Логика программы была в том что в зависимости от определеного прерываний, по юарту отправлять ат-команды на GSM-модуль с сообщением о разных событиях проблема была там где не ждал, оказывается во время иницилизации настроек юарта, я активировал биты прерываний для отправки и принятия.Но так как они мне не нужны, то каждый раз при отправки данных по юарту, программа начинала сначала. Если кому нужно, проблема в том, что аппаратно, если вы активируете какое то прерывание, но не пропишете обработчик его, ваш микроконтроллер будет ребутится, вся программа начинает сначала, как и было в данном видео, инициализировано было INT0 и INT1, но использовался 1 пин прерываний, а обработчик прерываний для другого не был прописан
@tomtiurin2390
@tomtiurin2390 Жыл бұрын
Спасибо Вам за уроки!
@kot661
@kot661 5 жыл бұрын
пришлось купить ATmega8, уж больно все понятно объясняете. по ИБП я так понял небольшое отступление про фазу, кондер и катушку в цепи переменки. изучаю пока что МК. спасибо за ваш труд.
@ДимаЗвездный
@ДимаЗвездный 5 жыл бұрын
Сделайте эту программу на реальном контроллере. Т.к. из видео на канале и у меня на компьютере видно, что после прерывания программа начинает работать сначала, а не продолжает как вы говорите с места когда поступила команда прерывания. Вы все видео делаете на реальном контроллере, а почему это не показали?
@Dima-vl7dm
@Dima-vl7dm 4 жыл бұрын
В этом примере смысл в том, что когда нажимаешь обычную кнопку светодиод начинает моргать тогда,когда до него дойдет алгоритм по коду сверху вниз при условии что будет нажата кнопка.А при нажатии на кнопку прерывания чтения кода прерывается и сразу переходит на алгоритм мигания одного светодиода,после его выполнения начинается чтение кода заново то есть сверху вниз.Что бы работало так как автор показывал в начале нужно код мигания одного светодиода поместить в функцию и нажатием кнопки прерывания вызывать эту функцию ,тогда после отрабатывания функции код продолжит работу до конца.
@ДимаЗвездный
@ДимаЗвездный 4 жыл бұрын
@@Dima-vl7dm Спасибо. Попробую.
@BitlllJooS
@BitlllJooS 2 жыл бұрын
Тут ошибка в коде. У меня вообще сначала работать не хотел на железе. Потом исправил, заработало как надо, продолжая с момента прерывания.
@СергейГригорьевич-м6ь
@СергейГригорьевич-м6ь 5 жыл бұрын
Благодарю за уроки! Почему программа не продолжает свою работу дальше, а возвращается в начало?
@Dima-vl7dm
@Dima-vl7dm 4 жыл бұрын
В этом примере смысл в том, что когда нажимаешь обычную кнопку светодиод начинает моргать тогда,когда до него дойдет алгоритм по коду сверху вниз при условии что будет нажата кнопка.А при нажатии на кнопку прерывания чтения кода прерывается и сразу переходит на алгоритм мигания одного светодиода,после его выполнения начинается чтение кода заново то есть сверху вниз.Что бы работало так как автор показывал в начале нужно код мигания одного светодиода поместить в функцию и нажатием кнопки прерывания вызывать эту функцию ,тогда после отрабатывания функции код продолжит работу до конца.
@cr00z
@cr00z 4 жыл бұрын
Это глюк протеуса, в железе все работает как надо. Из-за дребезга контакта прерывание может попасть в отложенные (может внутри обработчика еще раз выставить бит INT0 в регистре GIFR) и сработать 2 раза. Чтобы этого избежать, при выходе из обработчика этот бит лучше сбросить
@СергейГригорьевич-м6ь
@СергейГригорьевич-м6ь 4 жыл бұрын
@@cr00z Благодарю, за разъяснение! Удачи!
@Николай-ц7у8ы
@Николай-ц7у8ы 4 жыл бұрын
@@cr00z все верно, чтоб в протеус заработало нормально, нужно прогнать его хотя бы один раз с sei(); вместо SREG |= (1
@vectormagnetic9304
@vectormagnetic9304 4 жыл бұрын
Все круто ! Поддерживаю пальцем вверх !
@kosmos8460
@kosmos8460 3 жыл бұрын
Хорошие били уроки жаль закончились как всегда , 25 - 30 уроков для затравки и конце по английски
@николайгребенщиков-ф9ь
@николайгребенщиков-ф9ь 3 жыл бұрын
Спасибо огромнейшее за Ваш полезный труд. У меня вопрос: когда настраиваете регистр SREG почему он не определяется автоматически в меню подсказок (выделяется красной волн.линией)?
@MrDavincizp
@MrDavincizp 6 жыл бұрын
Вы говорите что после прерывания программа продолжает свою работу с места где прервалась, но она не продолжает, а сбрасывает состояния порта С и начинается сначала, это хорошо видно по миганию светодиодов. Подскажите, почему так и можно ли это изменить? Спасибо
@ИгорьСоболев-п4й
@ИгорьСоболев-п4й 6 жыл бұрын
На самом деле прерывание вклинивается в процесс, просто симулятор может некорректно отображать, и глазам своим верить нельзя. Для этого используют осциллограф или логический анализатор.
@incxxxx
@incxxxx 5 жыл бұрын
Your right! How to correct this? Diode.net gave no word of this.
@Dima-vl7dm
@Dima-vl7dm 4 жыл бұрын
В этом примере смысл в том, что когда нажимаешь обычную кнопку светодиод начинает моргать тогда,когда до него дойдет алгоритм по коду сверху вниз при условии что будет нажата кнопка.А при нажатии на кнопку прерывания чтения кода прерывается и сразу переходит на алгоритм мигания одного светодиода,после его выполнения начинается чтение кода заново то есть сверху вниз.Что бы работало так как автор показывал в начале нужно код мигания одного светодиода поместить в функцию и нажатием кнопки прерывания вызывать эту функцию ,тогда после отрабатывания функции код продолжит работу до конца.
@ВиталийЧеренков-ц4х
@ВиталийЧеренков-ц4х 3 жыл бұрын
А теперь вопрос, прерывание даёт краткий выход из последовательного алгоритма программы для выполнения неких действий после которых программа продолжает работу с точки остановки. Сам вопрос в том, почему прога выполняется не с места остановки а заново?
@АндрейНик-р3к
@АндрейНик-р3к 2 жыл бұрын
Мне тоже это показалось странным. Когда происходит прерывание, основная программа не просто останавливается, а после завершения программы прерывания, она начинает работать сначала. Как будто нажали RESET и перегрузили МК. Хотя автор говорит, что после прерывания, основная программа возвращается в место останова и продолжает с этого места выполнять прогу дальше.
@АндрейНик-р3к
@АндрейНик-р3к 2 жыл бұрын
Разобрался!!! Сначала инициализацию портов в главной функции поставил перед инициализацией внешнего прерывания, потом вместо команды SREG |=(1
@Bagasl
@Bagasl 4 жыл бұрын
Отличный пример со светодиодами
@Victor14525
@Victor14525 4 жыл бұрын
Чтобы после прерывания светодиоды не начинали мигать сначала, надо вместо команды SREG |=(1
@splinterkab9007
@splinterkab9007 4 жыл бұрын
Не заметил никакой разницы. Одинаково работает и та и так.
@BitlllJooS
@BitlllJooS 2 жыл бұрын
@@splinterkab9007 там ошибка в коде. В GICR открыты 2 ноги для прерывания, а в ддрД и портД 1 на прерывание, одна на кнопку. Надо либо там убрать лишнюю,либо тут добавить. Весь день мучился, вообще на железе не работало, а в протеусе так же, начинался цикл сначала.
@splinterkab9007
@splinterkab9007 2 жыл бұрын
@@BitlllJooS я на си давно уже не пишу. Мне для мк сейчас проще flowcode использовать. Накидал блоками в визуальной среде. Добавил нужные компоненты и готова прошивка для мк. Если тебе для изучения си. Я уже забыл что там к чему. Если просто для себя сделать что-то рабочее. Flowcode изучить не долго. Там и эмулятор встроенный есть.
@BitlllJooS
@BitlllJooS 2 жыл бұрын
@@splinterkab9007 никогда не слышал о flowcode. Действительно гораздо проще,чем Си? Надо изучить этот вопрос
@splinterkab9007
@splinterkab9007 2 жыл бұрын
@@BitlllJooS проще. Советую попробовать и разобраться. Особенно если лень вникать в си. Программ для визуального программирования есть несколько. Мне больше зашла flowcode. Они хотя и требуют элементарных понятий. Но это проще чем учить си с ноля. В ютуб есть человек который по этой программе отлично поясняет. Не буду ссылку на канал кидать. Где программу скачать, как установить и как настроить тоже писать не буду. Надеюсь в гугл не забанили. Через данную программу может немного увеличится размер после компиляции по сравнению с тем же на си. Хотя смотря как на си написать.
@Sjni77771
@Sjni77771 5 жыл бұрын
Доброе время суток, у меня вопрос - когда нажимаешь на кнопку прерывания скажем на 3 светодиоде то после возобновления цикла данного прерывания начинается с начала а не продолжает цикл дальше... или я не правильно, что то понял ? С Уважением Дмитрий! / Stepanov Dmitriy!
@Программированиемикроконтролле
@Программированиемикроконтролле 5 жыл бұрын
Здравствуйте! После обработки прерывания управление возвращается в то место, откуда было вызвано прерывания и цикл продолжается дальше.
@Жэк
@Жэк 5 жыл бұрын
@@Программированиемикроконтролле так в видео отлично видно, что процесс начинается щаново, а не с точки прерывания. Это глюк симмулятора (протеуса) или на реальном МК будет то же?
@BitlllJooS
@BitlllJooS 2 жыл бұрын
@@Жэк это небольшой косяк в коде)) надо лишнюю ногу для прерывания отключить и будет работать как надо. А так у меня МК зависал, хотя в протеусе все норм показывало
@vitalyivanov7228
@vitalyivanov7228 2 жыл бұрын
спасибо за хороший материал
@MrRONE777
@MrRONE777 5 жыл бұрын
Ролики очень крутые, но у меня вопрос - после выхода из прерывания, код для диодов начал выполняться заново, а не с того момента, с которого мы упали в прерывание. Получается, выходя из прерывания, МК будет выполнять первую команду из главной части программы?
@kumelektronik340
@kumelektronik340 2 жыл бұрын
Добрый день. Получили ли Вы ответ на ваш вопрос. Меня это тоже интересут: почему не так как , как автор сначало в теории обьяснял. Я стараюсь изучать у разных проводящих занатия. Могу вам рекомендовать еще одного. Сначало я думал, что какой-то баран обьясняет. Но просмотрев и прослушав несколько его занатий заинересовался и потом даже больше получил инфо. Даю на его занятия ссылку: kzbin.info/aero/PL-bJ-cyZJjjDetZrdA7uiYrVvdJSIBZVR "andrey frolov" на youtube
@BitlllJooS
@BitlllJooS 2 жыл бұрын
@@kumelektronik340 ошибка в коде. Если ещё актуально, то расскажу) странно,что столько просмотров, а заметили всего пара человек
@kumelektronik340
@kumelektronik340 2 жыл бұрын
Всё будет работать, если разрешить с "sei()"
@BitlllJooS
@BitlllJooS 2 жыл бұрын
@@kumelektronik340 я весь день мучился. Нашел несостыковку GICR и ддрД и портД. В GICR 2 ноги под прерывание выбрано, а в ддр и порт одна для прерывания и одна для кнопки. В итоге вообще на железе не работало, зависало. Сейчас без Sri() работает как положено))
@ЭндиДюфрейн-ь3я
@ЭндиДюфрейн-ь3я 2 жыл бұрын
а почему вы не используете оператор While? для повторения итерации самое то! копировать по нескольку раз, это кащунство!
@АлексейКлимов-г4з
@АлексейКлимов-г4з 5 жыл бұрын
После окончания функции прерывания программа начинается с начала, а не продолжается. Видно, что диоды не продолжают зажигаться, а зажигаются с первого.
@splinterkab9007
@splinterkab9007 4 жыл бұрын
Всё нормально в протеусе эмулирует. Вот рабочий пример. Светодиоды на порт C и D7. Кнопки на B2, D2 к земле. D3 к плюсу питания. Частота 8MHz.Может чего не так но работает. #include #define F_CPU 8000000UL //8MHz #include #include ////////////////////////////////////////////////////////////////////////// void _port(void) { DDRC |= 0b1111111;//порт С на выход DDRD |=(1
@yuryfull5136
@yuryfull5136 4 жыл бұрын
Тестирование нужно производить в железе, а эмулятор есть эмулятор, сами же понимаете не у всех же стоят процы core i9
@splinterkab9007
@splinterkab9007 4 жыл бұрын
@@yuryfull5136 на четвёртом пне тоже ок. Необязательно i7.
@Андрей-э6э5г
@Андрей-э6э5г 5 жыл бұрын
Так и не понял почему он выходит с прерывания и гасит светодиоды которые уже были включены?
@Dima-vl7dm
@Dima-vl7dm 4 жыл бұрын
В этом примере смысл в том, что когда нажимаешь обычную кнопку светодиод начинает моргать тогда,когда до него дойдет алгоритм по коду сверху вниз при условии что будет нажата кнопка.А при нажатии на кнопку прерывания чтения кода прерывается и сразу переходит на алгоритм мигания одного светодиода,после его выполнения начинается чтение кода заново то есть сверху вниз.Что бы работало так как автор показывал в начале нужно код мигания одного светодиода поместить в функцию и нажатием кнопки прерывания вызывать эту функцию ,тогда после отрабатывания функции код продолжит работу до конца.
@TrasherFCR
@TrasherFCR 3 жыл бұрын
@@Dima-vl7dm но ведь код мигания одного светодиода и так в функции... прерывания. Как правильно это осуществить?
@TrasherFCR
@TrasherFCR 3 жыл бұрын
. 23:11 Можно же было всё так оставить в схеме и тогда бы по идее прерывание срабатывало после отпускания кнопки. .
@николайлосев-б7ъ
@николайлосев-б7ъ Жыл бұрын
А почему прерывание сбрасывает цикл? Вроде как цикл должен продолжится после выполнения програмы прерывания? Или нужен какой-то дополнительный код?
@АндрейЭш-н4х
@АндрейЭш-н4х 5 жыл бұрын
А я вот долго и упорно не мог понять почему у меня не мигает диод на PC6
@ivanbogun5629
@ivanbogun5629 5 жыл бұрын
так почему?
@Dmitrii82
@Dmitrii82 5 жыл бұрын
Хочу попросить вас сделать видео по энкодеру.
@zhdanvadim9536
@zhdanvadim9536 4 жыл бұрын
Подскажите пожалуйста, может кто это читает и без кода сможет натолкнуть на мысль как поправить. Такое дело, МК атмега328, по INT0_vect ставлю флаг, потом в лупе проверяю этот флаг и считываю данные из ADC. Все ок. Но если добавить еще одно прерывание INT1_vect, то все будет работать, до того пока не дать сработать этому новому прерыванию, после него данные из ADC будут получаться не верные, кракозябры пойдут в лог. В чем может быть дело?
@alextar8489
@alextar8489 3 жыл бұрын
как активировать внешние прерывания определенным количеством (3-5 ) импульсов на входе или нажатиями на кнопку. Меня интересует именно прошивка в atmel studio.
@alexandersedunov9117
@alexandersedunov9117 3 жыл бұрын
В среде Arduino применяется обработка данных по прерыванию ? Например, когда для выбранной платы есть аппаратная поддержка какого-то протокола (SPI, UART, Ethernet и т. д.), используется режим ожидания приёма (Salve) и приходит пакет, можно ли вызвать программное прерывание и читать приёмный буфер только тогда, когда в нём что-то есть ?
@paschendale1917
@paschendale1917 5 жыл бұрын
В atmega328 не могу заставить работать по восходящему фронту. Может есть какие-то нюансы? Или это просто косяк протеуса? Настраиваются прерывания немного по-другому(благодаря вам хоть понял, как можно извлечь полезные сведения из даташита) EIMSK|=(1
@depzzru
@depzzru 7 ай бұрын
А почему вы оговорите что после прерывания выполняется дальше программа где прервалась, а на самом деле видно что алгоритм программы просто начинается сначала. Или это тоже настраивается?
@АдамПрокопович
@АдамПрокопович 3 жыл бұрын
Я малость написал по своему но у меня оно работает так что при прерывании основная программа выполняется с начала а при нажатии обычной кнопки он помиает и продолжает с последнего места основную программу. Всего то написал массивом какой зажигать диод и условие с накоплением переменной.
@comfycomfy5637
@comfycomfy5637 Жыл бұрын
При запуске МК сразу выполняется программа прерывания и только потом программа основного цикла..Как заставить МК выполнять сразу программу основного цикла?
@vodoley8235
@vodoley8235 3 жыл бұрын
Спасибо автору
@Plofirak
@Plofirak Жыл бұрын
На этом и предыдущем видео вот прям заметно,что на последней трети повествования у автора просто терпения не хватает . Начинается ускорение , доводящая до бешенства дрочка зумом (особенно бесит в протеусе ,т.к.буквально рвет схему на лоскуты) . Зачем увеличивать шрифт программы тоже не понятно ( нет возможности охватить взглядом и тоже приходится судорожно вспоминать где что) .В результате под конец получается слайд-шоу . Автор , у вас же отлично получается планировать рассказ для понимания .Всё очень доходчиво . Да, контент для очень начинающих )) ,но это ж не значит ,что нужен размер букв как в букваре) .Вы же делали картинку в картинке с реальным МК .Ну вот и сделали бы по пол-экрана программу и схему ,чтоб сразу увязки было видно. А вообще более внятных пояснений еще не попадалось . Ваш цикл вот прям очень нравится . На критику прошу не обижаться (кто-то же должен , а то возгордитесь)))
@alexandervasin7277
@alexandervasin7277 2 жыл бұрын
Я столкнулся с такой проблемой, что Atmel Studio не распознает команду конфигурации регистра статуса и фраза SREG подчеркивается красной волнистой линией. Если не конфигурировать этот регистр, то прерывание в программе не выполняется. Как решить данную проблему?
@ale-zhu
@ale-zhu Жыл бұрын
Забить на подчеркивание
@GoschaPupkin
@GoschaPupkin 2 жыл бұрын
Что такое MCU? Я про расшифровку аббревиатуры.
@6trica1a3
@6trica1a3 4 жыл бұрын
а как настроить прерывание через INT1? ISR(INT1_vect) написал код для прерывания, в тоже настроил ISC11 и ISC10 на MCUCR= 0b00001000, установил в регистре D PD3 на вход и поставил подтягивающий резистор DDRD &= ~(1
@teist111
@teist111 3 жыл бұрын
Возможны ли эти действия на телефоне
@staskyrychenko8319
@staskyrychenko8319 Жыл бұрын
Обычно я целый день жду звонка и ничего не делаю. Значит, я не использую прерывания.
@avr_stm_pro2955
@avr_stm_pro2955 6 жыл бұрын
Спасибо!!!
@Тесла-ф3в
@Тесла-ф3в 3 жыл бұрын
GICR = 0b01000000; // Отключите INT1, иначе схема работать не будет. Будут наводиться помехи
@sg6630
@sg6630 6 жыл бұрын
А что будет делать МК если я зажму кнопку с перыванием?
@incxxxx
@incxxxx 5 жыл бұрын
super, super!!!
@_lika_dedicated_4105
@_lika_dedicated_4105 3 жыл бұрын
если подтянуть пин прерывания к земле то при касании любым металическим предметом проводов питания ардуино то будут происходить ложные прерывания
@valovik
@valovik 3 жыл бұрын
А как лучше?
@_lika_dedicated_4105
@_lika_dedicated_4105 3 жыл бұрын
@@valovik внутрений резистор или подтяжка к плюсу
@valovik
@valovik 3 жыл бұрын
@@_lika_dedicated_4105 я позже подумал и пришёл к этому же мнению. На высоком уровне на ноге, естественно не будут отражаться помехи
@_lika_dedicated_4105
@_lika_dedicated_4105 3 жыл бұрын
@@valovik если делать на обычных пинах то вроде никакие помехи не ловятся ,у меня тоже такая проблема наверно придется делать инвертер сигналов ,мне надо высокие сигналы с порта передать на мк уже в низким сигналом
@ВячеславХрамов-п7з
@ВячеславХрамов-п7з 4 жыл бұрын
А можно зажечь диоды через for?
@splinterkab9007
@splinterkab9007 4 жыл бұрын
Типа так? for (int i = 0 ; i < 6 ; i++) { PORTC
@vadimzhikharev1243
@vadimzhikharev1243 6 жыл бұрын
Вопрос а прерывания возможно сделать на 60 минут и как это будет выглядеть в написании кода ?
@kumelektronik340
@kumelektronik340 2 жыл бұрын
Привет. Рекомендую сдесь посмотреть: kzbin.info/www/bejne/gqGzcpp_e7Z1bcU
@kumelektronik340
@kumelektronik340 2 жыл бұрын
kzbin.info/www/bejne/jZfWeYebf7aegck
@АлександрКорнеев-ф9э
@АлександрКорнеев-ф9э 4 жыл бұрын
только через sei(); заработало прерывание.
@marcbolan5590
@marcbolan5590 5 жыл бұрын
Спасибо за ваши уроки. Очень помогают. И, может кто подскажет, какими регистрами правильно настроить внешнее прерывание на Attiny44 GIMSK = 0b01000000; //Включаем внешнее прерывание MCUCR = 0b00000010; //Сработка по спаду импульса sei (); // Global interrupt enable; Так не срабатывает.
@cr00z
@cr00z 4 жыл бұрын
Даташит подскажет :)
@dneproart
@dneproart 5 жыл бұрын
Все сделал по уроку, в протеусе все работает, а на реальном МК работает только кнопка которая подключена к внешнему прерыватель. Удаляю строку которая отвечает за регистр SREG начинает работать часть кода, что в блоке main и перестает работать внешнее прерывание, соответственно. Кто знает в чем дело?
@Тесла-ф3в
@Тесла-ф3в 3 жыл бұрын
GICR = 0b01000000;// отключите INT1. схема работает не корректно. Из за наводк помех на INT1
@dudnikov.r
@dudnikov.r 3 жыл бұрын
там где 5 раз моргнуть мог бы и поменьше копипастить for (int tmp_i = 0; tmp_i
@comfycomfy5637
@comfycomfy5637 Жыл бұрын
Но тогда ЛОГ.1 подается на два пина..ну так протеус показал..У себя я выбрал ПИНД0,но во время запуска почему еще засвечивается светодиод и на ПИНД1
@leoleopold9968
@leoleopold9968 4 жыл бұрын
молодым легче и весей обучаться. в возрасте это такой геморрой.
@nikolailevchuk9934
@nikolailevchuk9934 3 жыл бұрын
Считал сколько раз автор употребил слово,, данный,,,?
@ДмитрийВсемогущий-я2и
@ДмитрийВсемогущий-я2и 8 ай бұрын
Такую кашу наваял! У новичков от твоего светофора наверно флягу сорвало.... Урок ни сколько про внешние прерывания сколько про светомузыку!
@SergheiScepanovschi
@SergheiScepanovschi 4 жыл бұрын
это не прерывания не вводите в заблуждение. прервывания это interrupt
@volodymyr2665
@volodymyr2665 5 жыл бұрын
Дизлайк за неудачный пример и нерешительность в голосе
@dneproart
@dneproart 5 жыл бұрын
А в чем заключается неудачность примера? Ибо у меня в протеусе все работает, а на реальном МК не хочет, не выполняется код, что в блоке main.
@Bagasl
@Bagasl 4 жыл бұрын
@@dneproart ему лишь бы ляпнуть
@splinterkab9007
@splinterkab9007 4 жыл бұрын
@@dneproart может ошибка где. Проверил на мк. Всё работает.
@BitlllJooS
@BitlllJooS 2 жыл бұрын
Ошибка, надо NT1 отключить
Timer-counter interruptions ATmega8 | Microcontrollers from scratch #15
17:31
Программирование микроконтроллеров для начинающих!
Рет қаралды 39 М.
Quartz crystal | Customizing fusions | Microcontrollers from scratch # 16
20:20
Программирование микроконтроллеров для начинающих!
Рет қаралды 65 М.
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
Mom Hack for Cooking Solo with a Little One! 🍳👶
00:15
5-Minute Crafts HOUSE
Рет қаралды 23 МЛН
“Don’t stop the chances.”
00:44
ISSEI / いっせい
Рет қаралды 62 МЛН
Logical operations | Microcontrollers from scratch #10
20:23
Программирование микроконтроллеров для начинающих!
Рет қаралды 55 М.
Timer-counter 1, 2 ATmega8 | Microcontrollers from scratch #13
20:29
Программирование микроконтроллеров для начинающих!
Рет қаралды 43 М.
Timer-counter 0 ATmega8 | Programming AVR microcontrollers on C #12
29:09
Программирование микроконтроллеров для начинающих!
Рет қаралды 73 М.
Зачем ставить Микроконтроллер в простые устройства?
16:38
ElEnBlog - блог об электронике
Рет қаралды 110 М.
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН