Skocz do zawartości

display.display() blokuje działanie programu


Pomocna odpowiedź

void loop() {

  radio.setFrequency(freq);
  if (digitalRead(4) == LOW) {
    freq = freq + 0.01 ;
    wyswietlacz();

  }

Nie można na pałę wrzucić poleceń do loop i oczekiwać,  że program będzie działał responsywnie.  Jak często musisz wyświetlać dane na ekranie, co 1s to za mało? No to OK, co 200ms?To ma być jakaś animacja, tak? No to co 50ms? Loop może się wykonać w Arduino 1mln /s, potrzebujesz tak często?

A ten digitalRead? To przycisk? To może wystarczy co 10ms, a jak jest długo wciśnięty (2s) to zmieniać tą zmienną x10, a jak 10s to x100?

Tą frekwencje trzeba ustawiać nawet jak jest taka sama jak poprzednio?

Naucz się używać millis().

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...