Белый экран после команды float

Тема в разделе "Arduino & Shields", создана пользователем s600st, 26 фев 2018.

Метки:
  1. s600st

    s600st Нуб

    Хочу сделать ЛюксМетер на BH1750 и с экраном TFT LCD 2,4".
    Не могу вывести переменные ( float lux = lightMeter.readLightLevel (); ) на TFT LCD экран ( tft.print (lux); ), в serial всё выводится нормально ( serisl.print (lux); ) и если закомментировать команду "float" то на TFT LCD тоже всё выводится кроме переменной. Добавляю команду float - экран становится белым. Подскажите пожалуйста что может быть?
     
  2. b707

    b707 Гуру

    нет такой команды "float" - это тип переменных. Прежде чем писать свой скетч, стоило хотя бы мельком пролистать любой учебник по языку Си. Если хотите конкретных ответов - выкладывайте полный код
     
  3. ZAZ-965

    ZAZ-965 Гуру

    @s600st, какую библиотеку для датчика BH1750 используете? У https://github.com/claws/BH1750 метод readLightLevel возвращает uint16_t
    Код (C++):
    uint16_t lux = lightMeter.readLightLevel ();
    ......
    tft.print (lux);
     
     
  4. s600st

    s600st Нуб

    Да, библиотека та самая и uint16_t тоже пробовал, результат тот же. Не найду где накосячил. Высылаю скетч
     

    Вложения:

  5. ZAZ-965

    ZAZ-965 Гуру

    Не увидел у вас инициализации I2С
    Код (C++):
    // добавить в setup()
    // инициализация I2C шины (библиотека BH1750 не делает это автоматически)
    Wire.begin();
     
  6. s600st

    s600st Нуб

    Добавил, но не помогло :(
     
  7. DIYMan

    DIYMan Guest

    Включите вывод подробной информации компилятора: Файл-Настройки-Сообщения компилятора-подробнее. Перекомпилируйте скетч. Ни на что красненьким не ругается?
     
  8. s600st

    s600st Нуб

    Красненьким не ругалось. Все заработало. Ларчик просто открывался. Всем спасибо! Особенно благодарен ZAZ-965. Кстати учебник по языку Си тут не помог. Откусил одну ногу и припаял резистор. Догадались? )) Я еще не программист, но языки тоже надо учить чтоб программисты, как b707, не обижались )