Слимпер писал(а): ↑09.09.2017{, 09:17}
И правда, забыл прикрепить в блок I2C другую библиотеку.
А у меня нет ошибки так как библиотека уже есть. Спасибо за ловлю багов.
По тому же
адресу выложил правленый блок.
Доброго дня всем.
Помогите пожалуйста.
Скачал вот этот блок пользователя, для LCD с кирилицей , не хочет работать , ругается на строчку при компиляции:
"if(LCD_LongLines(str_166881461_2)<LCD_LongLines(STR_Temp_166881461_2))refreshScreen=1;"
'LCD_LongLines' was not declared in this scope
Фалы самого блока тоже прикрепил zip и разархивированный .
вот весь код который получается при компиляции в FLProg версия 6.3.1
#include <Wire.h>
#include <LiquidCrystalCyr_I2C.h>
LiquidCrystalCyr_I2C lcdOfMine(0x27, 20 , 4 ); // 0x27 адрес можно заменить
bool refreshScreen=1; //обновить экран
bool PrintLines; //Вывести строки
byte stanceCursor; // позиция курсора перед выводом на экран
bool updateString; // обновить текущую строку
//правленая версия библиотеки
bool EN_166881461_2;
String str_166881461_2;
String STR_Temp_166881461_2;
bool lastEN_166881461_2;
bool enable_199910894_2;
bool pastValue_199910894_2;
void setup()
{
lcdOfMine.init(); // initialize the lcd
}
void loop()
{
//Плата:1
PrintLines =0;
if ( refreshScreen ){ lcdOfMine.clear(); PrintLines=1; refreshScreen =0;}
//Плата:2
enable_199910894_2 = !(0);
if ( enable_199910894_2 != pastValue_199910894_2 )
{
if ( enable_199910894_2 ) lcdOfMine.backlight();
else lcdOfMine.noBacklight();
}
pastValue_199910894_2= enable_199910894_2 ;
EN_166881461_2 = !(0);
str_166881461_2 = String("Всем привет!!!!");
if(EN_166881461_2)
{
if ( !lastEN_166881461_2 ) refreshScreen=1;
if (!refreshScreen)
{
updateString = 0;
if (STR_Temp_166881461_2 != str_166881461_2)
{
updateString = 1;
if(LCD_LongLines(str_166881461_2)<LCD_LongLines(STR_Temp_166881461_2))refreshScreen=1;
STR_Temp_166881461_2 = str_166881461_2;
}
if (updateString || PrintLines)
{
if( 0 ) lcdOfMine.setCursor( LCD_Center(str_166881461_2), (1-1));
else lcdOfMine.setCursor(1, (1-1) );
lcdOfMine.print( str_166881461_2 );
}
}
}
lastEN_166881461_2 = EN_166881461_2 ;
}
byte cursorPosition(byte lengthOfString)
{
if (lengthOfString< 20 )
{
byte temp;
temp= (20 - lengthOfString)/2;
return temp;
}
return 0;
}