hi, ich habe eine Frage und zwar möchte ich eine gemessene Spannung auf
dem LCD ausgeben.
Habe folgenden Code geschrieben:
///////////////////////////////////////////////////////////////////////
ADC_Value = ADCL; //Die beiden 8Bit Variablen werden in
die 16 Bit Variable geschrieben
ADC_Value +=(ADCH<<8); //ADC_Value geschrieben
Spannung=Steigung*(float)ADC_Value;
//auch ohne casten funktionierts nicht
sprintf(str,"%f",Spannung);
//sprintf(str+4, "%c", " V");
lcd_clear();
lcd_setcursor(0,1);
lcd_string(str);
for(i=0;i<5;i++)
_delay_ms(50);
///////////////////////////////////////////////////////////////////////
da bei 0V auch ungefähr 0 in ADV_Value stehen, kann ich das mit einer
simplen Geradengleichung aufbauen.
das Probelm ist dann nur die Kommazahl Spannung auf dem LCD auszugeben.
habs im MS Visual Studio probiert, da klappts hervorragend, aber hier
steht an 1. Stelle in str ein "?" und danach nur kaudawelsch.
weis einer wieso??
viele dank
man siehe in die dokumentation der stdio.h: http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html#gaa3b98c0d17b35642c0f3e4649092b9f1
danke für deine Antwort, aber hilft mir jetz ehrlich gesagt auch nix weiter.
dann lies den Abshnitt nochmal besonders den Absatz über Limitations, bzw Limitations selbst.
AVR und GCC ??? dabei müsstest du noch die libraries für float richtg nutzen, sprich die richtigen für sprintf, admit ein float wert raus kommt und nicht ein ? gruss soundso
Warum berechnest du denn nicht das Ganze in Zentel-/Hundertstel-Volt? Da spart man sich die Float-Berechnung. Man braucht dann nur den Komma-Punkt an die richtige Stelle setzen und hat das Ergebnis in Volt. Wenn man mehr Stellen benötigt, kann man auch in Millivolt rechnen. Man muss nur aufpassen, dass es keinen Überlauf gibt.
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.