Diskuze: Arduino: Spojazdnenie I2C Textového displeja
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
No neznám Arduino, třeba to překladače nějak vyhodí nebo něco, ale v normálním programu se ti to na tomto místě zasekne a nikdy nepůjde dál.
Ahoj, kdyby jsi si nechal správně zformátovat kód, tak bys na tu chybu určitě přišel sám.
void setup()
{
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("Could not find a valid BMP085 sensor, check wiring!");
while (1) {}
//WE define our LCD 16 columns and 2 rows
lcd.begin(16,2);
lcd.backlight();//Power on the back light
//lcd.backlight(); Power off the back light
}
}
Display nefunguje nejspíš proto, že se neinicializuje ta knihovna Adafruit. Proto to vypíše chybovou hlášku a skončí to v nekonečné smyčce. Ta je tam správně, takže je hloupost ji mazat.
Co je v ní správně? Vždyť v tom while true nic není?
Jenže, když se ti nějaká komponenta neinicializuje, tak je hloupost pokračovat dále ve vykonání programu.
Aha, tak to pardon, nevěděl jsem, že v Arduinu je standard na zastavení programu, tam dát
while (1)
Když kouknu na google, tak existuje
exit(0)
A četl jsi si, co ta funkce udělá?
exit is a system function that exits your app ( on arduino interrupts are disabled and an infinite loop locks the system ).
No četl a to je přesně ten důvod proč bych while(1) nepoužil.
Zobrazeno 11 zpráv z 11.