Сенсорная кнопка на стекле (dAshkova und parovoZZ)

Тема в разделе "Проводная и беспроводная связь", создана пользователем parovoZZ, 31 мар 2019.

  1. Belkin

    Belkin Гик

    Маленькая поправка - "по изменению уровня" (для PCINTх в частности) ;)
    Подтянуть ножку к "+" и контролировать появление "0" - я обычно так делаю.
    Можно и наоборот, все зависит от ситуации.
     
  2. parovoZZ

    parovoZZ Гуру

    Нет. По изменению уровня необходимы такты. В PowerDown режиме никаких тактов нет - всё спит. Поэтому PCINT только по уровню. Как следствие первого - асинхронно.
     
  3. Belkin

    Belkin Гик

    Ну, как у вас - не знаю, а у меня МК просыпается и нормально интерпретирует состояние пина, откуда "прилетело" прерывание... ;)
    Не удивлюсь, что я "опять что-то делаю неправильно"... ;)
     
  4. parovoZZ

    parovoZZ Гуру

    Ну вот жеж картинка
    pcint.png
    Фронт отследить никак не можем. Поэтому не "по изменению уровня", и изменение уровня.
     
  5. Belkin

    Belkin Гик

    Спорить не собираюсь.
    Повторяю - у меня работает и пользуюсь этим прерыванием уже неоднократно.
    Потому и рекомендовал.
    Не нравится - игнорируйте. ;)
     
  6. parovoZZ

    parovoZZ Гуру

    Я только им и пользуюсь. Даже ноги INT0 и INT1 перевожу на PCINT, ибо последний отслеживает любое изменение уровня, а INT-ы только на нулевой реагируют. А по фронту МК не просыпается по вышеназванным причинам. Вот, к примеру, детектор нуля. Настроились по INT0 на передний фронт. По нему ушли на прерывание. Там сменили реакцию на задний фронт. А это был шум. Отловить задний фронт не успели, но ждем его снова. Как итог - пропуск нуля. С PCINT такой проблемы нет.
     
  7. parovoZZ

    parovoZZ Гуру