- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 29

Thema: Wie sin() über USART ausgeben?

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    36
    Beiträge
    2.624

    Wie sin() über USART ausgeben?

    Anzeige

    Praxistest und DIY Projekte
    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 ...

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    38
    Beiträge
    4.255
    STFL...
    dtostrf() aus stdlib.h

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    36
    Beiträge
    2.624
    Hallo Uwe!
    Geht das so einfach, mit nur einer Funktion!?

    Nagut ... ;o)

    Gute Nacht
    Florian

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    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

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    36
    Beiträge
    2.624
    Danke vielmals! :o)

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    sprintf ... ==> hat aber avr-gcc nicht
    Wie kommst Du darauf ?

    sehe hier

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    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

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    36
    Beiträge
    2.624
    Hmm, also irgendwie hängt sich mein AVR-Studio auf, wenn ich die stdlib.h einbinde! ;o)=

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.147
    Blog-Einträge
    3
    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

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    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

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress