Добрый день , а сдребезгом контактов кнопки что делать будете , будет реально несколько нажатий , флаг нужен.
А как думаешь delay(300); для чего?Не только для "усвоения" GSM команды.Но и антидребезг.Так можно было бы 50-100 мкс поставить вполне хватило бы.
Aitbus, в вашем коде естественно не зачем. Я к тому что пауза совсем не уместна, она ничего полезного не выполняет. Так как время выполнения кода после if будет намного больше чем время дребезга.
Да согласен в принципе её можно убрать.Насчёт флагов:Вы видимо как и я "родом из Ассемблера"?Там-да флаги нужны если опрос кнопок/кнопки в главном цикле-программно потом выполняем действие-сбрасываем флаг.(Хотя можно и здесь без флагов)Если из прерываний-то флаги ставятся/снимаются аппаратно.В этом то и главное отличие (и преимущество!)Си перед Ассемблером.То что я написал одной строчкой if (digitalRead(buttonPin) == HIGH) в Асме заняло бы минимум три строчки.Поэтому здесь не вижу смысла флагов
не совсем , по правилам схемотехники надо еще конечно кондер повесить паралельно кнопке 0.1 мкф, и всетаки флаг нужен который бы сбрасывался при отпускании кнопки. На практике пока кнопке новая ваша задержка поможет а потом нет. Пробовал.
Схемотехника не мой конек, но я как-то читал большое обсуждение данного вопроса. Говорилось там о том, что в случае гашения дребезга кондером будут возникать кратковременно большие токи (причем несмотря на резистор, кажется - не помню всех деталей), которые постепенно сожрут контакты кнопки. Правда, на практике кнопка развалится быстрей, чем контакты обгорят. Но есть другие способы подавления дребезга. Я себе на триггере с кнопкой делал педаль, вешал ее на один из сигналов COM-порта ПК, ловил смену состояния и по этому событию программно нажимал Enter - очень удобный девайс получился. Сидишь над железкой с парой щупов осциллографа, а ногой нажимаешь кнопку в программе, чтобы железка сигналом плюнула Иначе приходится постоянно кого-то звать и просить понажимать кнопочку...
Что за правила такие?Никогда о них не слышал хотя живу в обнимку с паяльником уже 20 лет с самого детства?Думаю не надо лепить самолёт из самоката?У меня вообще самопальный СОМ Ардуино работает без единого конденсатора и ничего.Микроконтроллер тем и хорош потому как может быть всем сразу.Там всё уже есть внутри.Только надо всё это грамотно заюзать.Тем более такой "монстр" как Мега8.Вот если мой скетч в Тини13 впихнуть вот это да!Хотя есть и такая вещь-правда на Асме.Да конечно можно ставить флаги увеличивая размер кода и уменьшая быстродействие только вот смысл?Компилятор их уже и так сам расставляет в НЕХ кодах в условиях If (while, switch case)Посмотрел "другие способы" первые два не что иное как "подтяжка" входов к плюсу или минусу последующие аппаратные решения реализуются в МК програмно в том числе и командой delay Сразу видно!А я машинные коды так и не осилил хотя во времена радио 86 рк был ещё молодой и красивый.