При выводе 3 и 4 строки происходит сдвиг позиции первого символа на 4 знака вправо в обоих строках. При этом первые две строки выводятся корректно.
Попробовал ради интереса вывести текст на ЖКИ написав простенький код - та же проблема, поменял переходник i2c - никакого эффекта. В итоге указал в коде позицию первых символов для 3 и 4 строк, как -4, и все стало отображаться корректно, с первого символа.
Возможно ли как то исправить этот баг, что бы при формирование кода чрез FLProg, корректно отображался текст на LCD1604 через i2c ?
Текстовый пример кода, с которым все отображается корректно:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3f,16,4);
//* Задаем адрес и размерность дисплея.
void setup()
{
lcd.init(); // Инициализация
lcd.clear ();
delay (500);
lcd.backlight(); // запускаем подсветку
lcd.setCursor(0, 0); // Устанавливаем курсор в начало 1 строки, как обычно
lcd.print("LCD"); // Выводим текст
lcd.setCursor(0, 1); // Устанавливаем курсор в начало 2 строки, как обычно
lcd.print("1604"); // Выводим текст
lcd.setCursor(-4, 2); // Устанавливаем курсор в начало 3 строки, на -4 символа
lcd.print("HD44780"); // Выводим текст
lcd.setCursor(-4, 3); // Устанавливаем курсор в начало 4 строки, на -4 символа
lcd.print("problem"); // Выводим текст
}
void loop()
{
}