Skocz do zawartości

Wykorzystanie danych z innej funkcji


Pieterlpl

Pomocna odpowiedź

Witajcie. Mam mały problem, który jest z pewnością błahy do rozwiązania. Nie potrafię wykorzystać danych pomiarowych z 1 funkcji w 2 funkcji. Fragment kodu wygląda następująco:

void stanBaterii()
{
  float napiecie = analogRead(27) / 4096.0 * 7.17;
  float procent = (napiecie - 3.50)/0.007;
}

void ekran()
{
  display.setRotation(1);
  display.fillScreen(GxEPD_BLACK);
  display.setTextColor(GxEPD_WHITE);
  display.setTextSize(2);
  display.setCursor(0, 10);
  display.print("Bateria: ");
  display.print(napiecie);
  display.println(" V");
  display.print("Stan: ");
  display.print(procent, 0);
  display.println("%");
  display.update();
}

Wydaje mi się że deklaracja funkcji jako void sprawia tutaj problem. Zostawiając funkcje bez żadnego typu wywala zaś błąd co po części jest logiczne. Ale jak to ugryźć, żeby w funkcji ekran() znalazły się dane z funkcji stanBaterii() ?

 

Link do komentarza
Share on other sites

Zmień dostępność zmiennych. W tym momencie za każdym przebiegiem tworzysz nowe zmienne a stare wyrzucasz.

float napiecie = 0;
float procent = 0;
void stanBaterii()
{
  napiecie = analogRead(27) / 4096.0 * 7.17;
  procent = (napiecie - 3.50)/0.007;
}

void ekran()
{
  display.setRotation(1);
  display.fillScreen(GxEPD_BLACK);
  display.setTextColor(GxEPD_WHITE);
  display.setTextSize(2);
  display.setCursor(0, 10);
  display.print("Bateria: ");
  display.print(napiecie);
  display.println(" V");
  display.print("Stan: ");
  display.print(procent, 0);
  display.println("%");
  display.update();
}

Teraz są to zmienne dostępne globalnie (nie tylko w metodzie).

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.