Дисплей Nextion: азы. Arduino, ESP8266.

Тема в разделе "Глядите, что я сделал", создана пользователем ИгорьК, 9 авг 2016.

Метки:
  1. ИгорьК

    ИгорьК Давно здесь

    Научись хотя бы код в тему вставлять.
     
  2. timon131

    timon131 Нуб

    Часть кода у меня вставлена нормально, просто с опечаткой. Это дураку понятно, что с такой опечаткой он бы не работал. А у меня он работает... я же конкретно задал вопрос: Почему кнопка не всегда с первого раза включает реле, т.е не всегда проходит код с кнопки, а иногда просто шлет ???...
     
  3. alp69

    alp69 Гик

    Юноша, не хамите! Не надо оправдывать свои ошибки предполагаемой Вами (весьма ошибочно) необразованностью собеседника. Если Вы такой умный, то что же тогда за помощью обратились?Прежде чем пытаться скатиться на оскорбления, устраните кривизну своих рук. И научитесь излагать свои мысли так, чтобы собеседник не должен был догадываться о сути Вашего вопроса. Если Вам нужен ясновидящий - меняйте форум.
    На этом считаю для себя неприемлемым продолжение попыток помощи Вам.
     
    Последнее редактирование: 13 май 2018
    9xA59kK нравится это.
  4. Belkin

    Belkin Гик

    При добавлении изображения на объект Button уже имеющегося проекта на изображении (поверх) проявляются черные буквы "ne". Дальше не видно из-за маленького (100х100) объекта...
    Да и сами буквы видны на 70-75% сверху, нижняя часть скрыта.
    Так же они видны и при Debug...
    Программа при этом отрабатывает нормально.
    На самом изображении этих букв нет...
    Кто сталкивался, что за дрянь ?

    UP.
    Вопрос решен.
    Вместо Button использован Picture.
    Видимо, есть ограничение на количество однотипных объектов, Button было 12, а проблемный стал 13-м. ;)
     
    Последнее редактирование: 10 июн 2018
  5. Jendos77

    Jendos77 Нерд

    Благодарю!
    Проект теперь парсит целые строки с названиями городов и паролями WIFI в настройках метеостанции.
    Код (C++):

    void getNextionData()
    {
      while (Serial.available())
      {
      char inn = Serial.read(); // читаем один символ
      if(serialReadFlag)
      { // Если установлен флаг приема - действуем
      if(inn == 0xFF)
      {  // Находим конец передачи "FF"
      if(inStr.length() > 0)
      { // Проверяем длину сообщения и отправляем в "переработку"
      checkCommand(inStr); // В этой функции будем парсить сообщение
      }

      serialReadFlag = false; // Сбрасываем флаг приема
      break;
      }else
      { // А это нормальный прием
      inStr += (char)inn; // Создаем String от Nextion
      //inStr.trim();  // Это можно удалить, просто для ручной настройки,
      // а там возникает перевод строки
      }
      }else
      { // А здесь отлавливается начало передачи от Nextion
      if(inn == 0x23)
      { // Символ "#"
      serialReadFlag = true; // После # начинаем чтение при следующем заходе
      inStr = ""; // Но до этого очистим стринг приема

      }
      }
      }
    }
    void checkCommand(String ins)
    {
      // У нас информация от Nextion состоит из двух частей,
      // первая буква - идентификатор действия
      // ловим его:
      String first = ins.substring(0,2);
      // А все остальное - данные:
      String last = ins.substring(2);

      if(first == "1p")
      {
      String city = last;
      }
      if(first == "2p")
      {
      String state = last;
      }
      WOUpdate = true;
    }
     
     
    ИгорьК нравится это.
  6. Чего-то запутался с отрицательными числами, в итоге плюнул. Вычесть из 100 значение (отрицательное или положительное), а на другой стороне провести обратную операцию оказалось проще.
     
  7. Belkin

    Belkin Гик

    А если повнимательнее почитать доки, то выяснится, что Nextion работает только с целыми положительными числами...
    И плеваться не пришлось бы... ;)
     
  8. Библиотека не работает, а сам Nextion - на ура