Hi
Hast du in der make die richtigen/nötigen Parameter gesetzt?
Guten Morgen,
Ich versuche schon den ganzen Abend zwei Variablen zu dividieren.
Wie folgt mein "Code"
Meine Variable 3 ist aber leider immer 1Code:float var1 = 156; float var2 = 220; float var3; var3 = var1 / var2;
Auch wen ich var3 = ((float)var1 / (float)var2); schreibe.
ich lass mir den Inhalt auf einem display als int ausgeben. Ich sehe also nur wie ganzzahlig der Wert ist.
Komischerweise ist der wert 0 wen ich var2 / var1 rechne.
Ich verstehs echt nicht.
diesen wert rechne ich mit acos weiter und dann nochmals weiter in grad.
acos wird aber immer nur 1 übergeben... Mein Ergebniss in Grad ist immer 57 = 1 rad
Ich bin echt für jeden Tip dankbar
Hi
Hast du in der make die richtigen/nötigen Parameter gesetzt?
Versuch mal dies hier:
float var1 = 156;
float var2 = 220;
float var3;
var3 = var1 / var2;
if(var3 < 1) printf("Richtig")
else printf("Falsch")
Oder gib den Wert doch einfach als float aufm Display aus... (mit Hilfe von sprintf(...) )
Gruß, Yaro
hm, wieso habe ich die header stdio.h nicht? Ich benutze AVR studio und WinAVR.
Ich wollt mir jetzt mal die float ausgeben lassen
Alle Pfade richtig angegeben?
in welchem pfad sollte die den liegen?
io.h und co hab ich drin
Hi,
hast du dir die Werte im Simulator angeschaut oder woher weisst du, dass var3 == 1 ist?
gruß
Aha, nach neuinstallation ist stdlib.h wieder da.
Ich geb die Variable auf einem LCD aus. Aber als int.
Deshalb weiss ich nur obs >=0 ist.
Wie genau benutzt man sprintf?
char text[];
float zahl;
sprintf(text, "%f", zahl);
funktioniert nicht
Wenn du schreibst "funktioniert nicht" dann schreib immer was genau nicht funktioniert.
Ich hoffe dein Code sieht nciht wirklich so aus wie du ihn hier gepostet hast...
Außerdem gib für text mal ne Größe vor und gib zahl nen Wert.
Nein der sieht nicht ganz so aus, ging mir nur ums prinzip.
Ich hab mir mal ne funktion geschrieben um int-Werte auf dem Display auszugeben. Die habe ich versucht umzuschreiben.
Und ich bekomme ein unschönes error:Code:void disp(float zahl1) { char text[17]; sprintf(text1, "%f", zahl1); lcd funktionen(text1)..... }
relocation truncated to fit: R_AVR_13_PCREL against symbol `__subsf3`definied in .text section in C:.............\libgcc.a(_addsub_sf.o)
und das 3mal (Leichte textliche abweichungen)
Und wenn ich sprintf auskommentiere ist es wieder fehlerfrei.
Lesezeichen