Wpis z mikrobloga

Wie ktoś jak zatrzymać odliczanie i na końcu wygenerować tylko 1 raz napis? Chodzi mi o programowanie w arduino, coś takiego jest:

int licznik = 0; //Deklaracja zmiennej

void setup() {
Serial.begin(9600); //Inicjalizacja połączenia z PC
}

void loop() {
Serial.println(licznik); //Wysłanie wartości zmiennej licznik
licznik = licznik + 1; //Zwiększenie licznika o 1
delay(100); //Opóźnienie, aby efekt był lepiej widoczny
}

próbowałem już długo i nic.. cały czas jakieś błędy, pomoże ktoś??

#programowanie #arduino #c++
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@DeLorean: nie, właśnie chodzi mi o to, żeby program odliczał np. do 100 i po tym żeby wyskoczył tylko 1 raz napis np. "koniec odliczania" i tyle. Potrafie zrobić żeby cały czas się ten napis pojawiał, ale nie wiem jak to zatrzymać
  • Odpowiedz
no to możesz w pętli loop{} wpisać:
if (licznik == 0){
for (licznik = 0; licznik <= 100; licznik++){
delay(100);
if (licznik == 100) { Serial.println("Licznik == 100!"); }
}
}
  • Odpowiedz
powiedzmy, że nie da się zatrzymać pętli loop. Więc będzie się ona wykonywać w nieskończoność, w powyższej propozycji program sprawdza czy licznik == 0 ( a więc pierwsze przejście ) i wchodzi do pętli for gdzie co 100ms dodaje wartość 1, aż do osiągniecia wartości 101, a w przypadku wartości 100, if wewnątrz jest true i wykonuje polecenie Serial.println.
Pętla for nie zostanie ponownie uruchomiona, bo licznik == 101, a więc licznik
  • Odpowiedz
Jeżeli chcesz coś dalej robić, to możesz też skorzystać ze zmiennej globalnej mówiącej o tym czy wyświetliłeś już komunikat. Przykład:

globalna boolean czywyswkomunikat = FALSE;

w
  • Odpowiedz