Как работает прерывание?

Тема в разделе "Arduino & Shields", создана пользователем Braun, 30 янв 2018.

Метки:
  1. Braun

    Braun Нуб

    Привет. Подскажите, как работает прерывание. Например если на пин со светодиодом пришла команда HIGH(500), а уже через 100мс после начала свечения светодиода включилась подпрограмма сработавшая по прерыванию, которая длится допустим 20мс. Так вот, светодиод в эти 20мс всё равно горит или нет, а наши глаза воспринимают как будто он и не погас? Или функция pulseln. Она выдаст значение длительности высокого уровня на входе суммируя время до прерывания и после или время до+ время подпрограммы+ время после или еще какое то? Надеюсь всё понятно написал))
     
  2. ostrov

    ostrov Гуру

    Не понятно что такое HIGH(500). И почему светодиод должен гаснуть без команды на время выполнения прерывания? А pulsein ориентируется на millis(), который считается тоже через прерывание.
     
    Braun нравится это.
  3. Braun

    Braun Нуб

    Я имел ввиду что подаем на пин со светодиодом 5вольт на время равное 500мс. На счет того почему светодиод должен гаснуть. прерывание, на сколько я знаю, приостанавливает ход выполнения основной программы, поэтому я предположил что свечение светодиода тоже приостанавливается, разве не в этом суть прерывания?
    Вы имеете ввиду, что команда pulseln тоже является прерыванием?
     
  4. DetSimen

    DetSimen Guest

    Представь себе, что ты дома жаришь яишницу, печка включена, яишница жарится, ты весь в предвкушении стоишь такой красивый с вилкой и ждёшь. Очевидно, яишница будет жариться (светодиод гореть) пока включена печка (подан HIGH на выход). Вдруг в дверь позвонили (пришло прерывание). Ты же идёшь открывать не выключая печки? Т.е светодиод будет гореть, как горел, не прерываясь, только если у тебя на открывание двери не стоит кнопка выключения печки, тогда да, на время открывания двери яишница жариться не будет. Но я так понимаю, ты же в прерывании не подаешь LOW на выход со светодиодом? С чего б ему гаснуть?
     
    Последнее редактирование модератором: 30 янв 2018
    Braun нравится это.
  5. Braun

    Braun Нуб

    Ок, я понял, светодиод горит) а что насчет pulseln? Функция насчитает время импульса такое же, как если бы прерывания и не было?
     
  6. DetSimen

    DetSimen Guest

    Не пользовалса, не знаю.
     
  7. Braun

    Braun Нуб

    И на том спасибо, острову так же спасибо
     
  8. DetSimen

    DetSimen Guest

    для спасибоф кнопка справа внизу поста есть. "Мне нраица" называеца.