Skocz do zawartości
Pieterlpl

Wykorzystanie danych z innej funkcji

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() ?

 

Udostępnij ten post


Link to post
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

Udostępnij ten post


Link to post
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!

Gość
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...