Hi zusammen, ich habe an einem Atmega8 ein 2x16 LC Display angeschlossen und kann es beschreiben, habe einen Wert (int) mit einem ADC generiert und auch dargestellt. Rechenoperationen mit int stellt mein Display auch dar. Dann hatte ich bei dem Datentyp float das Problem das immer ein ? statt dess Wertes angezeigt wurde, dank der Page hier habe ich im AVR Studio die Floating Points aktiviert, klappt wunderbar. Ich kann nun ein float darstellen wenn ich einer Variablen einen Wert wie z.B. pi zuweise,... y=3.141592 und dann y ausgebe mit.... sprintf(var1, "%f", y); set_cursor(0, 1);lcd_string(var1); spuckt er auf dem Display auch 3.141592 aus, aber wenn ich eine Rechenoperation durchführe wie z.B..... y=5/10 und dann y ausgeben will bekomme ich ständig 0.000000 angezeigt? Habe math.h & float.h included! Habt ihr Rat? Gruß KiriKiri
Schreib mal y=5.0/10.0 oder mach bei Variablen nen cast. y=(float) a / (float) b. goog* mal typecast
Uwe schrieb: > Schreib mal y=5.0/10.0 oder mach bei Variablen nen cast. > y=(float) a / (float) b. > goog* mal typecast super danke, so einfach wenn man weiss wie :-)
KiriKiri schrieb: > Uwe schrieb: >> Schreib mal y=5.0/10.0 oder mach bei Variablen nen cast. >> y=(float) a / (float) b. >> goog* mal typecast > > super danke, so einfach wenn man weiss wie :-) Viel wichtiger wäre allerdings, wenn du wissen würdest: Warum? FAQ: Datentypen in Operationen
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.