Deklarace LCD
Deklarace LCD
Jsem začátečník a zkouším přepsat kód, který je pro displej z Nokie 5110 na LCD 20x4. V první části kódu void setup() je LCD definované LiquidCrystal_I2C lcd(0x23,20,4); a všechny příkazy lcd.print projdou kompilací bez chyby.
Jenže kód pak pokračuje void loop() a tam už mi vypadává chyba 'lcd' was not declared in this scope. Je tam dost podmínek pro zobrazení a co jsem zkoušel, tak po každé podmínce musím znovu deklarovat to LCD.
Musí to tak být nebo se to dá nějak obejít? Jde mi o zjednodušení aby kód moc nebobtnal.
Jenže kód pak pokračuje void loop() a tam už mi vypadává chyba 'lcd' was not declared in this scope. Je tam dost podmínek pro zobrazení a co jsem zkoušel, tak po každé podmínce musím znovu deklarovat to LCD.
Musí to tak být nebo se to dá nějak obejít? Jde mi o zjednodušení aby kód moc nebobtnal.
Re: Deklarace LCD
..a kde ten kód je? je tajnej? vlož to sem a uvidíme, čím to bylo..
Re: Deklarace LCD
Ta řádka :
LiquidCrystal_I2C lcd(0x23,20,4);
by měla být ještě před blokem setup(). Když je uvnitř bloku setup(), tak platí jen v tom bloku.
LiquidCrystal_I2C lcd(0x23,20,4);
by měla být ještě před blokem setup(). Když je uvnitř bloku setup(), tak platí jen v tom bloku.
Re: Deklarace LCD
no, zjevně v setupu definuješ lokální proměnnou.
Máš minimálně dvě možnosti:
1) inicializovat to globálně ještě před setupem:
2) definovat si globální ukazatel a inicializaci provést v setupu (to mi přijde takové čistší, ale jde spíše o zvyk - máš kontrolu nad tím, co se kdy vytváří)
Máš minimálně dvě možnosti:
1) inicializovat to globálně ještě před setupem:
Kód: Vybrat vše
LiquidCrystal_I2C lcd(0x23,20,4);
...
void setup() {
....
}
void loop() {
...
tady voláš lcd.necoUdelej();
}
Kód: Vybrat vše
LiquidCrystal_I2C *lcd;
...
void setup() {
lcd=new LiquidCrystal_I2C (0x23,20,4);
...
}
void loop() {
...
tady voláš lcd->necoUdelej();
}
Re: Deklarace LCD
Zase o něco chytřejší. Takhle deklarované to funguje.
Dík všem za pomoc
to KiLLA
Kód sem dát mohu, ale má to téměř 700 řádků a nechtěl jsem to tady moc plnit.
Re: Deklarace LCD
Na vkládání kódu je tag CODE ... ikonka s </> ... 700řádků se pak zobrazí krásně barevně v rozměrově přijatelném okénku. Viz příspěvky výše.
Re: Deklarace LCD
OK, budu si to pamatovat pro případ, že bych zase na něčem ztroskotal.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů