Мониторинг, если кнопка перестала нажиматься - PullRequest
0 голосов
/ 13 августа 2011

У меня есть эскиз Arduino, который сообщает данные через последовательный порт при нажатии кнопки на плате.Чтение последовательного порта - это сервер Node.js, который взаимодействует с ОС при нажатии кнопки.

Проблема, которую я обнаружил первой, заключалась в том, что если в конце я не установил задержкуМой цикл заключался в том, что сервер Node.js, похоже, является узким местом и начинает читать следующий набор инструкций перед завершением последнего набора.Каждый цикл всегда отправляет данные на последовательный порт.

В любом случае я устанавливаю эскиз на задержку на 100 миллисекунд в конце каждого цикла.

Проблема, которую я обнаружил сейчас, заключается в том, что если яудерживайте кнопку нажатой более 100 мс, она видит ее при нажатии двух кнопок, и поэтому код node.js, который запускается при каждом нажатии кнопки, удваивается.Есть ли способ узнать, отпустил ли пользователь, нажимающий кнопку, нажатие?

1 Ответ

1 голос
/ 14 августа 2011

Вам нужно добавить программное обеспечение для отмены коммутатора.

В зависимости от вашего приложения может потребоваться автоматическое повторение или отправка другого кода при отпускании коммутатора.

Если вы хотите толькоотправив, вы можете добавить код, как показано ниже:

    If (buttonpressed==TRUE)
    {
        If (buttonsent==FALSE)
        {
            sendbutton();
            buttonsent=TRUE;
        }
     }
     else
     {
         buttonsent=FALSE;
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...