Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie sin() über USART ausgeben?
N'Abend!
Wie kann ich die Kommawerte der z.B. sin()-Funktion der math.h über USART ausgeben?
Viele Grüße
Florian
*edit*: Als String meine ich!
AVR-Gcc in AVR-Studio verwende ich ...
STFL...
dtostrf() aus stdlib.h
Hallo Uwe!
Geht das so einfach, mit nur einer Funktion!?
Nagut ... ;o)
Gute Nacht
Florian
Hallo Florian,
genauer weis ich's grad auch nicht, aber mir fallen folgende Funktionen ein
itoa ==> integer to asccii
ftoa ==> weis nicht, ob's das in avr-gcc gibt
normalerweise geht es mit
sprintf ... ==> hat aber avr-gcc nicht
ansonsten gibt es den Thread hier
http://www.mikrocontroller.net/forum/read-2-11536.html
Ich habe es schon mal folgendermaßen gemacht:
void printfloat(float x)
{
int num,num2;
num=x;
num2=(x-num)*10;
printf("%d.%d",num,num2);
}
Diese Version ist ziemlich Speicherplatzsparend.
Falls Deine printf Funktion nicht auf die serielle Schnittstelle geht, kannst Du die beiden Integer-Werte mit itoa( int wert ) in ascii verwandeln und dann die einzelnen Zeichen getrennt raus schicken.
Gruss,
stochri
sprintf ... ==> hat aber avr-gcc nicht
Wie kommst Du darauf ?
sehe hier (http://www.nongnu.org/avr-libc/user-manual/group__avr__stdio.html)
Gruß Sebastian
Hallo Florian,
Hab noch einen Thread gefunden, über die Problem der dtostrf() Funktion.
http://www.mikrocontroller.net/forum/read-2-17545.html
Würde mich interessieren, ob die bei Dir gut funktioniert.
Auch gute Nacht,
stochri
Hmm, also irgendwie hängt sich mein AVR-Studio auf, wenn ich die stdlib.h einbinde! ;o)=
sprintf ... ==> hat aber avr-gcc nicht
Wie kommst Du darauf ?
Hallo Sebastian,
tja, da habe ich mich wohl getäuscht.
Allerdings hatte ich vor längerer Zeit das selbe Problem wie Florian, ich wollte eine Float-Zahl auf einem LCD-Display darstellen. Die printf-Funktion hatte sich entweder aufgehängt oder das falsche Ergebnis geliefert. Nachdem ich mich eine Weile damit rumgeärgert hatte, habe ich die Ausgabe wie oben beschrieben realisiert. Dort werden einfach zuerst die Vorkomma-Stellen und dann der Punkt und eine Nachkommastelle getrennt dargestellt.
Das Verfahren braucht wesentlich weniger Speicherplatz als das Einbinden der Float nach String Formatkonvertierungen.
Gruss,
stochri
Hallo stochri,
Ich habe ehrlich gesagt mit sprintf und Fließkommazahlen auf einem µC bis jetzt nichts gemacht,programmiere gerne in Assembler und da sucht man andere Lösungen :-)
Daß die stdio.h viel Speicher schluckt ist ja bekannt, ich wollte nur nett darauf hinweisen daß es die Funktion wohl gibt :wink:
Gruß Sebastian
*kloppt euch* ;o)=
ich wollte nur nett darauf hinweisen daß es die Funktion wohl gibtDanke!
Ich muss jetzt nur erstmal hinter her kommen und endlich programmieren...
Viele Grüße
Florian
PS: Hatte gerade ein Vorspiel mit meinem Akkordeon-Orchester.
Bei dem Wetter ist es echt sch... zu spielen, die Finger waren so glitschig ... :o(
http://www.cer-online.de/page/bilder/akkordeon.jpg
Nochmal eins:
https://www.roboternetz.de/wissen/index.php/Avr-gcc#Vermeide_printf.2C_scanf.2C_malloc
*lol*
Wisst ihr, was mich verwundert!?
Irgendwie stürzt jedes Mal mein AVR-Studio mit AVR-Gcc ab, wenn ich eine weitere Bibliothek einfüge, z.B. bei der stdio.h.
Bei der math.h komischer Weise nicht!
Woran kann das liegen?
Viele Grüße
Florian
*kloppt euch* ;o)=
So schlimm ist es dann wieder nicht O:)
Übrigens muss ich bei meiner obigen Routine die Zeichenausgabe mit folgendem Konstrukt
void lcd_putc(char c);
static FILE chstandartout = FDEV_SETUP_STREAM(lcd_putc,NULL,_FDEV_SETUP_WRITE) ;
auf das LCD umleiten. ( lcd_puchar ist die Zeichenausgabroutine ). Fragt mich bloss nicht nach dem Syntax, den habe ich irgendwo so gefunden. Mittlerweise würde ich anstatt printf auch eher itoa verwenden, das ist übersichtlicher un man weiss, was gemacht wird.
Auf die selbe Art und weise müßte es auch mit der seriellen Schnittstelle gehen.
soweit,
stochri
Wisst ihr, was mich verwundert!?
Irgendwie stürzt jedes Mal mein AVR-Studio mit AVR-Gcc ab, wenn ich eine weitere Bibliothek einfüge, z.B. bei der stdio.h.
Bei der math.h komischer Weise nicht!
Passiert es nur, wenn Du die Bibliothek einbindest, oder wenn Du eine bestimmte Funktion verwendest ?
Nach den Threads im Mikrocontrollernet würde ich auf ein Speicher Problem tippen. Bei printf hatte ich glaub auch schon Probleme, itoa müsste aber gehen.
Gruss,
stochri
So, also ohne die Bibliothek funktioniert alles (natürlich ohne die Funktion, für die ich die Bibliothek brauche), aber sobald ich die Bibl. einfüge geht garnichts mehr, da muss ich sogar über den Taskmanager alles abbrechen und abmelden ...
Probiere ich mal itoa ...
*edit*:
Ich habe jetzt in das Programm die stdlib.h eingefügt und schon stürtzt alles ab, ich habe noch nicht mal die itoa-Funktion drin ...
So, das Problem mit den Bibliotheken ist gelöst! *freu*
Ich habe das AVR-Studio neu installiert und jetzt funktioniert es!
Jetzt muss ich nur noch die ganzen Funktionen ausprobieren ...
Viele Grüße
Florian
Das ist komisch,
Habe hier im Forum schon öfters über Probleme mit AVR-Studio gelesen,
verstehe es nicht, daß die Jungs es nicht auf die Reihe kriegen stabile Software zu schreiben...
Kann man nicht Eclipse dazu überreden als Entwicklungsumgebung für avr-gcc
zu arbeiten?
Meine Erfahrungen mit Eclipse (zumindest in Verbindung mit Java) sind durchaus positiv gewesen.
Da hat sich Sun mehr mühe als Atmel gegeben :-)
Ich meine schon was drüber gelesen zu haben, mal schauen...
Gruß Sebastian
Da hat sich Sun mehr mühe als Atmel gegebenEclipse ist aber von IBM ... finde Eclipse aber auch sehr gut! :o)
Hatte früher noch nie Probleme mit'm AVR-Studio, aber das hat mich geärgert, 3 Stunden verschenkt! ;o(
Ups IBM, wie komm ich jetzt auf SUN (schämm)
finde Eclipse aber auch sehr gut!
Habe glaube auf mikrocontroller.net galesen wie man es für avr einrichtet, mal suchen...
Ups IBM, wie komm ich jetzt auf SUN (schämm)*lol*
Dafür hat Sun in Amerika den ersten experimentellen Kernfusionsreaktor gebaut! ;o)
Habe glaube auf mikrocontroller.net galesen wie man es für avr einrichtet, mal suchen...Ist mir irgendwie wieder viel zu viel zum experimentieren ...
Viele Grüße
Florian
Habe hier im Forum schon öfters über Probleme mit AVR-Studio gelesen,
verstehe es nicht, daß die Jungs es nicht auf die Reihe kriegen stabile Software zu schreiben...
Bei mir läuft es auf einem Rechner sehr stabil, auf einem anderen habe ich eine andere Version, da wird der Speicherverbrauch und die Fehlermeldungen nicht richtig angezeigt.
Aber wenn man die richtige Version von AVR-Studio und die entsprechenden Patches erwischt, läuft es absolut einwandfrei.
Gruss,
stochri[/quote]
Wußte ich doch :-)
Hier ist der Link http://www.mikrocontroller.net/articles/AVR_Eclipse
@stochri,
das glaub ich Dir gerne, meine 3.??? Version läuft auch absolut stabil :lol:
Das hab ich nur irgendwie mitbekommen, daß es ein paar Leute gibt, die da Probleme haben.
Gruß Sebastian
pebisoft
25.06.2006, 10:38
Habe hier im Forum schon öfters über Probleme mit AVR-Studio gelesen,
verstehe es nicht, daß die Jungs es nicht auf die Reihe kriegen stabile Software zu schreiben...
der fehler wird vom anwender gemacht. avr-studio ist wasserfest.
Moin!
@ stochri:
entsprechenden PatchesVon was für Patches redest Du?
Das SP2 o.ä.?
Also ich lade mir nur mal ab und zu die neuste Version vom AVR-Studio herunter, von Patches wusste ich nichts! ;o)
@ Pöbelsoft:
der fehler wird vom anwender gemacht. avr-studio ist wasserfest.Jaja, und Microschrott baut auch die besten Betriebssysteme der Welt ... schon klar!
Nichts ist unfehlbar und es gibt überall Fehler!
Ja, man glaubt es kaum, auch Menschen sind nicht unfehlbar ... auch Du nicht! *lol*
In diesem Sinne und verzeiht mir bitte diese dummen Sprüche ...
Viele Grüße
Florian
Florian:
Ich meinte sowas hier:
http://www.atmel.no/beta_ware/as4/412sp3/index.htm
Hallo Stochri!
Wie kommt man an sowas dran?
Kann man das schon bedenkenlos nutzen?
Hallo Stochri!
Wie kommt man an sowas dran?
Kann man das schon bedenkenlos nutzen?
z.B. über avr-freaks.net
Im allgemeinem kjann man diese Software bedenkenlos nutzen.
Grüße,
da Hanni.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.