Pieterlpl Napisano Grudzień 29, 2019 Udostępnij Napisano Grudzień 29, 2019 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() ? Cytuj Link do komentarza Share on other sites More sharing options...
Aiden_Pearce Grudzień 29, 2019 Udostępnij Grudzień 29, 2019 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). 1 Cytuj Link do komentarza Share on other sites More sharing options...
Pieterlpl Grudzień 29, 2019 Autor tematu Udostępnij Grudzień 29, 2019 Ahhh no tak, wstyd się przyznać że taki błąd 😮 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!