Официальный сайт компании Arduino по адресу arduino.cc
Считывание нажатия кнопки в момент выполнения цикла
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 19/10/2019 - 10:02
Не получается реализовать смену режимов работы нажатием кнопкой, если заместо кнопки ставишь поочередную смену через время то все работает. Выходит что проблема именно в считывании самой кнопки, как можно это победить?
Moderator : пожалуйста, вставьте код правильно (новым сообщением в тему), как описано в http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukommentarii
* к выходу 12
Использовать прерывание.
Какое прерывание? есть же break, как мне видится проблема в том что при не может программа одновременно выполнять цикл и считывать нажатие или я не прав?
Нужно чтобы условие 3 выполнялось постоянно пока не будет нажата кнопка в очередной раз.
как мне видится проблема в том что при не может программа одновременно выполнять цикл и считывать нажатие или я не прав?
Правы насчёт своей программы.
Так работает практически как задумано, но при коротких нажатиях, если кнопку нажимать не супер быстро то проскакивает практически всегда второй режим.
У Вас в коде есть delay(). У делея есть слабая функция в нутрь которой можно вставить проверку нажатия клавишь. Или заменить все делеи на свою функцию задержки с провекой клавишь. Пока есть свободные делеи проблемы с клавишами будут всегда.
Слабая функция у делея - а где про это можно почитать?
Недавно обсуждали найдите. А вообще в файлах ядра ардуино. Напишите свою yield();
Слабая функция, ядро ардуино, yield()... Да тяжело это для ТС! Проще вместо delay(x) поставить свою Delay(x), которая будет выглядеть примерно так:
Я и сам не люблю эти фишки Ардуино, плюсов, GCC... Проще нужно быть.)
Пора базу знаний забацать. Постоянно эти вопросы.
Пора базу знаний забацать. Постоянно эти вопросы.
Лучшая база знаний - Гугл. Но и он не поможет. Чтобы найти решение в поиске - надо знать половину ответа
Пора базу знаний забацать. Постоянно эти вопросы.
При регистрации своего рода капча (много где встречал), по типу:
1. Например, продолжить фразу - Ардуино это (а. Крутая игрушка, в которой разберётся даже домохозяйка; б. Средство быстрой разработки и макетирования устройства; в. Не понял ничего из а. и б.). Ну короче понятно.
2. Правильно вставить код;
3. Что такое поиск по форуму? (Ну и там: а. я не знаю; б. Где-то слышал; в. Знал бы не обращался сюда.; г. Поле ввода в верхнем правом углу; д. Поле ввода в верхнем левом углу; е. Я сдаюсь)
n. Etc....
не надо. Если не будет новичков - будет скучно :)
Новички будут, я же вопросы/ответы примерные написал. Можно что то более логичное для новичков придумать. Но хотя бы «как мигать светодиодом» отсеется. ))
или все же не?)
А "как мигать светодиодом" как раз никого не напрягает. Напрягает, когда когда человек просит сообщить ему, сможет ли он сделать проект на 200 датчиков, 800 кнопок и 2000 светодиодов, и просит написать список, какие именно датчики, кнопки и светодиоды ему нужны.