Forum: Mikrocontroller und Digitale Elektronik funktion gibt falschen Wert zurück


von Manni (Gast)


Lesenswert?

Bei bei meinem Atemga32 Projekt rufe ich in einer Unterfunktion die 
Funktion:

float formeld()
{
  float cal_wert = 1;
  return cal_wert;
}

die Unterfunktion sieht so aus:

void show_LCD()
{
        float test;
        test=formeld()
        float_to_LCD(test);
}

Wenn ich Debugge zeigt ist der Wert von test jedoch 15759 anstatt 1. Hat 
jemand schonmal ein ähnliches Problem gehabt?

von Dave (Gast)


Lesenswert?

probier mal folgendes:
float cal_wert = 1.0;

von Manni (Gast)


Lesenswert?

Hab ich auch schon probiert, mit dem gleichen Ergebnis

von Mark B. (markbrandis)


Lesenswert?

Mal im Debugger anschauen, welchen Wert test in show_LCD() hat. Bei 
einer Zuweisung mit 1.0 kann nicht ernsthaft 15759 zugewiesen werden, es 
sei denn man hat vergessen die Bibliothek für Fließkommazahlen mit zu 
verwenden ;-)

von Karl H. (kbuchegg)


Lesenswert?

kompletten, compilierbaren Code!

von Daniel G. (daniel83)


Lesenswert?

Wenn du den Breakpoint in der Zeile
        test=formeld()
hast, ist der WErt von test auch noch irgendwas, der wert ist erst in 
Zeile
        float_to_LCD(test);
geändert. Dort sollte aber 1 bzw. 1.0 drin stehen

von P. S. (Gast)


Lesenswert?

Wo ist der Gegentest fuer float_to_LCD mit festem Wert?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.