Arduino serial.available () нажатие кнопки триггера - PullRequest
0 голосов
/ 12 ноября 2018

Я использую Arduino Serial Monitor для ввода логина и пароля WiFi. При следующем запуске программы мне не нужно вводить те же данные. Я могу дважды нажать клавишу «Ввод», потому что Serial Monitor запоминает эти данные (я так думаю). Я хотел бы запрограммировать ожидание на десять секунд и вызвать нажатие клавиши ENTER, если данные не введены пользователем. Как это сделать? Я не нашел примеров с похожей реализацией.

while (Serial.available() == 0) {
  }
  Serial.readBytesUntil(10, password, 50);
  Serial.println(password);

Когда я нажимаю клавишу ввода без ввода данных, данные на Serial Monitor не выводятся, но соединение WiFi установлено успешно.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Вы используете модуль esp8266, который я ожидаю. esp8266 запоминает последний ssid и пароль STA-соединения и автоматически подключается по умолчанию.

Обычное дело

if (Serial.available()) {
  Serial.readBytesUntil('\r', password, 50);
  Serial.println(password);
}

чтобы не блокировать цикл

0 голосов
/ 12 ноября 2018

Я справился с Serial.setTimeout после Serial.begin и прокомментировал эти строки:

while (Serial.available() == 0) {     
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...