Прерывания в микроконтроллерах? Что это, и как с ними работать. Краткий ликбез.

  Рет қаралды 33,527

Гневисть

Гневисть

Күн бұрын

Пікірлер: 176
@АндрейСазонов-д4о
@АндрейСазонов-д4о Жыл бұрын
Лучшая видеоиллюстрация работы прерываний 🤣👍👍👍
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо! =))))))))
@ВладимирШевчук-ъ2г
@ВладимирШевчук-ъ2г Жыл бұрын
Опять этот Инженер с хорошим чувством юмора! Придется смотреть )
@FermeyZZzz
@FermeyZZzz Жыл бұрын
Он не инженер. Это Джеймс Хетфилд - музыкант.
@ИгорьКочкин-х7ю
@ИгорьКочкин-х7ю Жыл бұрын
Шикарная подача материала😂 в конце Скайнет осознал свою сущность😂
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо! =)))) Да, в конце произошел сбой, приведший к выходу за рамки установленной программы =)))))
@alexlaktionov2835
@alexlaktionov2835 Жыл бұрын
Хэтфилд образца 1991 года,спасибо за очередной разбор,доступный гумманитарию!!!Чётко👍
@ПавелДмитренко-х3ш
@ПавелДмитренко-х3ш Жыл бұрын
Экранизация программы с прерыванием , просто класс
@Parseee
@Parseee Жыл бұрын
Подача - космос. Автор ролика просто великий человек, может такими темпами все таки вкачусь в МК
@panzerlo3418
@panzerlo3418 Жыл бұрын
Лучшего объяснения прерываний я не видел!
@chemodanoff5804
@chemodanoff5804 Жыл бұрын
Не беспокойте Саныча по пустякам! Он занят самым важным делом, и выполнение основной программы всегда должно оставаться в максимальном приоритете. Припаяйте рядом вспомогательную микросхему и дергайте ее за 6стую ножку сколько угодно!
@artemdavinci
@artemdavinci Жыл бұрын
Вот про многозадачность будет очень даже кстати посмотреть. Как всегда доходчиво и интересно ;)
@Gnevistj
@Gnevistj Жыл бұрын
Окей, подготовлю отдельный выпуск про параллельные алгоритмы =))) Но сразу попрошу не путать - это не многозадачность в прямом смысле этого слова, хотя выглядит архипохоже =))))))
@artemdavinci
@artemdavinci Жыл бұрын
@@Gnevistj Да, это я понимаю, что так или иначе все равно МК делает последовательно. Благодарю ;)
@mikesaiganov4535
@mikesaiganov4535 Жыл бұрын
Пора, однако, закачивать этот бейсик, и пробовать чего- нибудь писать. И проверять. С такими видеоуроками, грех не попробовать!!!👍👍👍
@santhermTV
@santhermTV Жыл бұрын
О, а можно про параллельное подробнее. Что за язык, какие результаты можно достичь относительно текстового компилятора. Почему в текстовом нельзя (или не логично) это делать.
@BioTech81
@BioTech81 Жыл бұрын
Всё как всегда на высоте но новации которые были внесены просто космос. Здрасьте кстати 😂 Олег вас катастрофически мало в эфире...
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо! =))) Приношу свои извинения, катастрофически завален работой, крадущей у меня эфирное время =)))) Стараюсь исправиться =)))))
@telemexxp
@telemexxp Жыл бұрын
Вам нужны прерывания...😂
@4arus
@4arus Жыл бұрын
Надо параллельный алгоритм. Основная работа + эфир )) Спасибо тёзка за выпуски 🤝
@electrosheeps6718
@electrosheeps6718 Жыл бұрын
Лайк и подписка однозначно! Раз уж тема пошла про языки программирования было очень интересно про micropyton. На сегодня, как по мне - самый прогрессивный инструмент для работы с микроконтроллерами.
@Anti_During
@Anti_During Жыл бұрын
Про вкусный пенный напиток воспоминают, когда хотят объяснить реактивную мощность ))
@alexishome4322
@alexishome4322 Жыл бұрын
Видос супер, автор шикарен ! Про прерывания жду второго выпуска, про таблицу векторов и приоритеты.
@lofo1979
@lofo1979 Жыл бұрын
Приветствую, как всегда доходчиво и с юмором. Спасибо за видео и ждем новых. Понятнее чем у других блогеров.
@ВладелецУстройства-ю3в
@ВладелецУстройства-ю3в Жыл бұрын
Оригинальная иллюстрация прерываний. Но тема полностью не раскрыта (прерывания по переднему фронту, по заднему, по изменению сигнала и проче) Буду ждать видео про "Лестницу" - это интересно для меня.
@леон-в2й
@леон-в2й Жыл бұрын
Саныч это крут, интересно смотреть,ыче понятно, настоящий педогог, сегодня после работы буду прерываться
@ВестникПазнева-ъ2к
@ВестникПазнева-ъ2к Жыл бұрын
Ура, дождался) Сразу лайк! После просмотра ваших видео, захотелось попробовать что то посерьезнее чем Ардуино. И как раз на работе нашол плату, с квадратным микроконтроллером. Обрадовался, отмыл с мылом, принес домой. Начал гуглить по маркировке, в предвкушении чтоже мне попалось в руки) Каково-же было разочарование, - это оказалась плата управления стиральной машины))) Поиски даташита на деталь успеха не принесли, так и лежит на полке.
@Thesturmgever
@Thesturmgever Жыл бұрын
С этим чуваком, мне захотелось научиться программировать. К стати, здравствуйте. Если бы на уроках информатики учили бы так, то большинство бы учились на 5.
@donautoclub5345
@donautoclub5345 Жыл бұрын
Старт Команда смотрим на шедевр Саныч Команда смешно Команда очень смешно Команда лайк Команда подписка Энд
@dmitryefimkin6550
@dmitryefimkin6550 Жыл бұрын
Спасибо за труд. Очень полезный ликбез.
@АльфирКужагильдин
@АльфирКужагильдин Жыл бұрын
До самого начала показа Саныча надеялся что прерывание наоборот будет относится к употреблению любимого пенного, а основная программа это распиловка заготовки 🙂🙂
@astarkmn
@astarkmn Жыл бұрын
Очень жду про параллельные алгоритмы и языки для микроконтроллеров. P.S. я так понимаю в серии про Watchdog, будут пинать "собаку", а не Саныча 😂
@inbuckswetrust7357
@inbuckswetrust7357 Жыл бұрын
Саныча будут пиннать с двух ног и он будет пилить обеими руками разными пилами
@alexsv1834
@alexsv1834 Жыл бұрын
Кайфую от подачи материала. Давай ещё!!!
@xelerant
@xelerant 6 ай бұрын
Этот человек просто гений
@НиколайСавельев-й8е
@НиколайСавельев-й8е Жыл бұрын
Круто чрезвычайно,снимаю шляпу.
@zorrozorro2839
@zorrozorro2839 Жыл бұрын
Отличное видео, сегодня смотрю все подряд с канала, спасибо! Интересно а будет ли что-то по ретро-эвм и советским пэвм типа Вектора-06Ц и т.п.?
@ЧебурГенЪ_ЧебурГенычЪ_Шапокляк
@ЧебурГенЪ_ЧебурГенычЪ_Шапокляк Жыл бұрын
Санычу привет. Он лучший педагог)).
@pahasuper13
@pahasuper13 Жыл бұрын
мне понравилось! полностью согласен
@inbuckswetrust7357
@inbuckswetrust7357 Жыл бұрын
главное в этом деле не пролить регистры :) Саныч работает по переднему фронту ноги ;) Главное не получить удовольствие вовремя дребезга ноги :)
@nik452600
@nik452600 Жыл бұрын
САНЫЧ - РАБОТЯЩИЙ и УНИВЕРСАЛЬНЫЙ СПЕЦ ... ОЧЕНЬ ПОНЯТНО И ЯСНО ... СПАСИБО ЗА ЗНАНИЯ и РАЗВИТИЕ ...
@6om6a
@6om6a Жыл бұрын
Классно и доходчиво. Хотелось бы узнать, как реализуется шаговое программирование, наподобие STL в промышленных контроллерах.
@Unikus777
@Unikus777 Жыл бұрын
Поддерживаю! Тоже имею задумку на промышленном сотворить.
@Gnevistj
@Gnevistj Жыл бұрын
@Сергей Б , под пошаговым вы наверное имели в виду язык SFC (GRAFCET) и ему подобные? Ибо упомянутый вами STL это некий аналог асма от Сименс =)) Да, планируется серия про "большие" контроллеры, там все и расскажу =))))
@Unikus777
@Unikus777 Жыл бұрын
@@Gnevistj , скорее всего типа Ladder . Хотелось бы запрограммировать Мицубовский FX2N
@6om6a
@6om6a Жыл бұрын
@@Gnevistj так точно, маэстро! Ждём новых выпусков, а Вам огромная благодарность!
@Lead-Engineer
@Lead-Engineer Жыл бұрын
эх..когда то я тоже занимался извращением по программированию пик контролера на ассемблере ...но понял что жизнь слишком коротка чтоб ее потратит на освоение мало оплачиваемой темы
@13tsar
@13tsar Жыл бұрын
Почему в универе так не объясняли??)) супер!
@Unikus777
@Unikus777 Жыл бұрын
А я знаю как это работает... Лет 30 назад грыз Ассемблер... Но аппетит быстро пропал 😜А Саныч наверное жалеет , что пиво не льётся нескончаемо как в бесконечном цикле... 🤣
@vladyslavshchedryn7008
@vladyslavshchedryn7008 Жыл бұрын
Отлично, наливай ещё! И Саныча не забудь!
@germanpyanov5187
@germanpyanov5187 Жыл бұрын
😃😜🤣Всё наглядно и понятно.
@Immo_Off
@Immo_Off Жыл бұрын
👍👍👍👍👍
@b213videoz
@b213videoz Жыл бұрын
Только сюжен НЕ корректен - всё наоборот: прерывания отвлекают а не подталкивают к работе 🤪 Более корректный пример был бы если бы ему звонили на мобилку.
@АндрейЛуганцев
@АндрейЛуганцев Жыл бұрын
Ну наконецто прерывания
@Gnevistj
@Gnevistj Жыл бұрын
Еще и таймеры будут! =))))
@АндрейЛуганцев
@АндрейЛуганцев Жыл бұрын
@@Gnevistj отлично
@evilQuister
@evilQuister 11 ай бұрын
Вот это Хэтфилд пачку отъел, еще и в микроконтроллеры
@robertnewman8824
@robertnewman8824 Жыл бұрын
Спасибо. Про языки - интересно.
@СтепанИванов-ъ2х
@СтепанИванов-ъ2х Жыл бұрын
Молодец ! Хорошо рассказывает .
@МаксимКомаров-б2ч
@МаксимКомаров-б2ч 11 ай бұрын
Спасибо тебе Гненависть.
@ostanin_vadym
@ostanin_vadym Жыл бұрын
Спасибо за полезный контент. PS: удивлён коду на Basic'e, тем более для МК. Был уверен что это мёртвый язык как рудимент Windows.
@Gnevistj
@Gnevistj Жыл бұрын
Это не совсем "классический" бейсик, а скорее его диалект. Более того, очень похожий диалект (помесь бейсика с паскалем) вовсю используется для программирования "больших" ПЛК =)))
@schrodingeryusuke6083
@schrodingeryusuke6083 9 ай бұрын
Здравствуй, Друг! Спасибо за труды, понятно и интересно рассказываешь) Жду следующий ролик про программирование. У меня возник вопрос. Помоги пожалуйста. Как организовать: 1. Параллельное выполнение независимых участков кода; 2. Парную работу двух микроконтроллеров (реализовать передачу данных и/или управление с одной микрухи на другую). Есть задача: организовать плавную перемотку условно веревки с одной катушки на другую. Мотор без намотки вращается быстрее, чем второй с полной катушкой. Основная программа на одной микрухе запускает работу двух моторов, один на намотку и второй на размотку. Управление скоростью вращения моторов для компенсации (уравновешивания) их вращения хочу вынести с основной программы отдельно. По состоянию энкодера или команде STOP прекратить выполнение программ(ы). Отображение хода работы (отмотано/надо отмотать) на дисплей 1602 я бы тоже вынес на отдельную микруху. Как сие лучше и правильнее реализовать? Можешь сделать ролик на эту тему?
@Дмитрий-ю8е2х
@Дмитрий-ю8е2х Жыл бұрын
на 50-ой секунде я понял, что ВСЁ знаю о прерываниях 🤣
@АлексейЗамула-ч6ф
@АлексейЗамула-ч6ф Жыл бұрын
Ништяк! И понятно и весело!
@saidgusainov6252
@saidgusainov6252 Жыл бұрын
Спасибо!видос с позитивом,расскажите про флаги.
@TriFid249
@TriFid249 Жыл бұрын
Жирный лайк))) Саныч сделал мой день🤣🤣🤣
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо! =))))))
@asutp2089
@asutp2089 Жыл бұрын
Спасибо за видео
@Gnevistj
@Gnevistj Жыл бұрын
Всегда пожалуйста! =)))
@tree-service
@tree-service 7 ай бұрын
Ну вот и мне понадобилось ;)
@ЕвгенийТарасов-я6п
@ЕвгенийТарасов-я6п Жыл бұрын
На самом деле процессор не сразу останавливается в момент срабатывания прерывания, а выполняет ещё одну команду. Это сделано на случай если всякие прерывания будут часто останавливать основную программу, чтобы она не стояла на месте, а хоть как-то продвигалась.
@ghjklfghk
@ghjklfghk Жыл бұрын
Пища для мозгов. Спасибо в который раз за вашу работу
@лопаоп
@лопаоп Жыл бұрын
спасибо за объяснение
@Grek303
@Grek303 Жыл бұрын
Доходчиво😂😂😂
@danilmerkurev6248
@danilmerkurev6248 5 ай бұрын
Класс! Спасибо!
@НиколаЕгренцев-ч6э
@НиколаЕгренцев-ч6э 10 ай бұрын
Из любопытства, в какой среде пишешь программы для PIC?
@sannexsannex4528
@sannexsannex4528 Жыл бұрын
Клево😂. Наеболее простой способ
@ilyazaitsev9035
@ilyazaitsev9035 Жыл бұрын
столько видео про прерывания даже для самых маленьких
@ОлегЛисовский-л4б
@ОлегЛисовский-л4б Жыл бұрын
Очень здорово!
@dmitri7586
@dmitri7586 Жыл бұрын
Здравствуйте! С удовольствием смотрю ваши выпуски из сопредельного государства на севере. Не могли бы вы ответить на один вопрос по теме программирования микроконтроллеров, который не дает мне спокойно пить пиво. Чувствую, что ответ примитивный, а понять не могу. Вот имеем мы микроконтроллер, который можно запрограммировать по разному. В одном случае микроконтроллер выполняет одно, в другом - другое. Но ведь при программировании внутренние соединения элементов контроллера не меняются! Каким образом программа влияет на путь электронов. Вы же в программе указываете: вывести на ножку номер 7. А если бы написали: вывести на ножку номер 5? Сигнал пришел бы на 5ю ножку? Если да, то это значит, что электроны могут двигаться по разным путям в зависимости от программы. Вот как так то?
@redcattrix
@redcattrix Жыл бұрын
Интересно, как часто или в какой момент процессор проверяет, что установлен флаг прерывания и надо его обработать?
@igorovcharov7424
@igorovcharov7424 Жыл бұрын
ну это в CISC процессорах. В RISC можно параллелить, чем сейчас с успехом и пользуются в больших машинках.
@Amaston
@Amaston Жыл бұрын
Здравствуйте Гневисть. Я везде ищу информацию, как физически передается сигнал по кабелю от одного компьютера в другой, но не могу ничего найти. А интересно, как это физически происходит, то есть как в проводах информация физически помещается. Расскажите на примере обычного выключателя люстры, пожалуйста
@Palladln
@Palladln Жыл бұрын
На текстовом языке, любой графический блок, можно запихать в отдельную функцию или обработчик и никаких тонн текста не понадобится.. По крайней мере на СИ, а СИ++ еще и классы есть и типы и структуры..
@Bambarmiyakirgudu
@Bambarmiyakirgudu Жыл бұрын
3:44 В атмеге есть такая штука The low level of INT0 generates an interrupt request.
@Bambarmiyakirgudu
@Bambarmiyakirgudu Жыл бұрын
Ну тоесть пока пин на ноле мега будет в бесконечном прерывании.
@ОлегАлександрович-й6б
@ОлегАлександрович-й6б Жыл бұрын
Спасибо.
@stanislavp681
@stanislavp681 Жыл бұрын
Производители микроконтроллеров разрабатывают ассемблеры к своим микросхемам, а бейсик конвертируется в ассемблер через ast, а уже потом в байткод. Таким образом я могу писать программы хоть на javascript(по примеру Tessel). Ассемблерные подпрограммы которые реализуют действия команд бейсика, содержат дополнительные действия в виде проверок и разных подготовок, понятное дело что это не очень хорошо влияет на производительность программы.
@КлайвСинклер-е6ю
@КлайвСинклер-е6ю Жыл бұрын
И тем не менее - многозадачность происходит все-таки благодаря прерываниям :)
@vadimchernov2509
@vadimchernov2509 Жыл бұрын
не всегда)
@КлайвСинклер-е6ю
@КлайвСинклер-е6ю Жыл бұрын
@@vadimchernov2509 на железном уровне всегда - шина данных одна, шина адреса - одна, шина сигналов - тоже одна!
@vadimchernov2509
@vadimchernov2509 Жыл бұрын
@@КлайвСинклер-е6ю ну вот допустим у вас два светодиода и мигать они должны по разному тайменгу, это вполне возможно и без прерываний)
@КлайвСинклер-е6ю
@КлайвСинклер-е6ю Жыл бұрын
@@vadimchernov2509 а помигать светодиодами уже полноценная многозадачность, где есть операции с памятью и прочим ?
@vadimchernov2509
@vadimchernov2509 Жыл бұрын
@@КлайвСинклер-е6ю так я не утверждал что во всех проектах можно отказаться от прерываний а только в некоторых))
@user-zxspectrumbasicsystem
@user-zxspectrumbasicsystem Жыл бұрын
Гнев ненависть и злость наеболее😊
@izada666
@izada666 Жыл бұрын
На си вполне удобно писать параллельные задачи использую планировщик или операционную систему реального времени.
@ПоследнийГугенот
@ПоследнийГугенот Жыл бұрын
Прослушал ролик не прерывая.
@APANFE
@APANFE Жыл бұрын
Спасибо ! Оч полезно .
@boson_higgs
@boson_higgs 7 күн бұрын
неплохо, но мало
@demontv8326
@demontv8326 8 ай бұрын
Прерывание нужно для многозадачности 😂
@tree-service
@tree-service 7 ай бұрын
А говорят, что в обработчике прерывания не стоит делать чего-то сложного и ресурсозатратного, возникает вопрос "почему?", кроме траты процессорного времени есть какие-то минусы в исполнении объемного кода в обработчике прерывания?
@alanalanov4125
@alanalanov4125 Ай бұрын
🤣🤣🤣 именно так прерывания и представлял...
@mclotos
@mclotos Жыл бұрын
при желании жигулём, конечно, можно буксировать автобус, но это как бы не его задача
@GrandmasterPoi
@GrandmasterPoi Жыл бұрын
Без алкашей и бутылок я теорию ЭВМ больше не воспринимаю! 😂
@japan_moto
@japan_moto Ай бұрын
Сработало событие по внешнему прерыванию.Наживку схавали. Цикл повторить...
@ДмитрийВсемогущий-я2и
@ДмитрийВсемогущий-я2и Жыл бұрын
В частности Саныча, я бы сказал, что прерывание как раз это питьё пиваса в ходе выполнения определённого рабочего процесса! Наоборот народ запутали.
@izada666
@izada666 Жыл бұрын
Смотря для кого.
@andrii4177
@andrii4177 Ай бұрын
😅 А есть такое же про тактирование?
@сергейгончар-п3д
@сергейгончар-п3д Жыл бұрын
Вы большой 👍
@WhiteZSY
@WhiteZSY Жыл бұрын
По вопросу о том, что можно написать чистый код на ассемблере - или использовать инструмент правильный, а не бить гвозди микроскопом: Работа программиста сейчас так дорога, а ресурсы аппаратные нет:). И человек пишет на том, что знает. И то что быстро для бизнесса (И в итоге дешевле.), выигрывает. (Бабки - бабки-бабки)
@nikotinesmola
@nikotinesmola 9 ай бұрын
А что внутри МК происходит, что он резко переходит на адрес вызова обработчика?
@inventossencillos
@inventossencillos Жыл бұрын
Отличное видео!👍А как насчёт управления трехфазным двигателем (6 импульсов) в широком диапазоне?
@Gnevistj
@Gnevistj Жыл бұрын
Собрать простенький частотник? Есть такая мысль, но держу "на потОм", ибо времени потребуется довольно много =)))
@Amaston
@Amaston Жыл бұрын
​@@Gnevistj Здравствуйте Гневисть. Я везде ищу информацию, как физически передается сигнал по кабелю от одного компьютера в другой, но не могу ничего найти. А интересно, как это физически происходит, то есть как в проводах информация физически помещается. Расскажите на примере обычного выключателя люстры, пожалуйста.
@medvedmedvedoff4803
@medvedmedvedoff4803 Жыл бұрын
Таки подписался.
@PROMOEV
@PROMOEV Жыл бұрын
Вау кайф
@ДмитрийШанько-к9г
@ДмитрийШанько-к9г Жыл бұрын
Что-то я тупым себя чувствую. Как так прерывание (int) можно заменить командой перехода (call)? Команда перехода сохраняет в стеке только адрес куда нужно вернуться, а прерывания сохраняет не только в стеке адрес возврата но и состояние всех регистров. Таким образом, после возврата с перехода программа может понять, что был переход (как правило состояние регистров меняется), а после прерывания не как не возможно определить было прерывание или нет (разве что по таймеру времени, если он есть). В общем если написать подпрограмму или процедуру (кому как удобно для понимания) и обращаться к ней двумя способами (прерыванием и переходом), то произойдет не предсказуемые действия в плоть до сбоя. На ассемблере конечно можно по извращаться и сделать такое и будет работать. Я описал работу компьютеров, неужели микроконтроллеры работают по другому? Микроконтроллеры я пока не программировал.
@Gnevistj
@Gnevistj Жыл бұрын
Да, безусловно вы правы - не совсем точно объяснил я; имелось в виду, что подпрограмма может вызываться разными способами, но, естественно, не всеми сразу. Порой забываешь сказать о таких простых вещах, т.к. кажутся сами собой разумеющимися =)))))
@sbm31337
@sbm31337 Жыл бұрын
О да О да , расскажи питониста за GIL =))))))
@vasilimatov4449
@vasilimatov4449 4 ай бұрын
Когда новые выпуски?
@lokpasddq763
@lokpasddq763 Жыл бұрын
Как заменить спикер пк на св диод?
@redfox7193
@redfox7193 Жыл бұрын
Не знаю. C# вполне справляется как с асинхронным программированием так и много поточным.
@erroos
@erroos Жыл бұрын
Ох уж этот софт из нулевых, выглядит конечно прям даже интересно сейчас. А в те времена все плевались, и радовались улучшениям дизайна, а потом на висту и 8ку из-за этого пришлось терпеть)
@МаксМаксимыч-ц9л
@МаксМаксимыч-ц9л Жыл бұрын
Где это все было 20 лет назад? Самому в это въехать было не просто
@sbm31337
@sbm31337 Жыл бұрын
Надо юмор по оператор "КАЛ" =))))))))
@alexandrnovikov4773
@alexandrnovikov4773 Жыл бұрын
про догов расскажите что там за собаки в этих контроллерах
@staskyrychenko8319
@staskyrychenko8319 Жыл бұрын
Спасибо! Ещё бы где почитать правила правописания в Коровьем Бейсике, на русском.
@Русь-Родина
@Русь-Родина Жыл бұрын
Ты Бейсик не оскорбляй, недоумок.
What type of pedestrian are you?😄 #tiktok #elsarca
00:28
Elsa Arca
Рет қаралды 30 МЛН
Миллионер | 3 - серия
36:09
Million Show
Рет қаралды 1,9 МЛН
LCD1602 - это очень просто!
22:19
Гневисть
Рет қаралды 147 М.
What type of pedestrian are you?😄 #tiktok #elsarca
00:28
Elsa Arca
Рет қаралды 30 МЛН