www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik itoa (...)


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat jemand vielleicht eine C-Routine zur Hand, welche o.g. Operation
möglichst schnell ausführt. Ausführendes System ist eine 16 Bit
Festkommaeinheit.
Leider steht keine solche Routine in der stdlib zur Verfügung.

Gruß, Mike

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ist fprintf zu langsam, oder steht die Funktion auch nicht zur
Verfügung?

Gruss
Christian

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fprintf wird schon unterstützt, allerdings ist mir unklar, wie ich sie
verwenden kann. Wenn du mir dafür ein Bsp. geben könntest? Ziel ist,
dass der konvertierte Wert in einem Array landet, damit er von einer
anderen Routine weiter verarbeitet werden kann.

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sprintf...

    unsigned char array[7];
    int i = 1024;
    sprintf(array, "%d", i);

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@OldBug

Vielen Dank, hast mir eine Menge Zeit gespart. Ich sehe zwar die
Listings der Funktionen, die Doku dazu ist jedoch quasi gleich Null.

Gruß, Mike

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm dann seh mal in eine c referenz ;-)
nahezu die komplette std ist für die meisten uc's portiert worden.
selbst solche sachen wie qsort ... sind endhalten ( so beim gcc für den
msp, bestimmt auch bei anderen uc entwicklungsumgebungen ).

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es geht um einen DSP von AD. Was wäre denn eine gute Referenz für solche
 Standardsachen?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/forum/read-4-126283.html#new

Du mußt die Routine ein bißchen abspecken, damit sie nur noch 16 Bit
verarbeitet. Dies sollte aber kein Problem sein.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Michael

Danke dafür, deine Routine liefert eine Laufzeitersparnis von 55%,
benötigt bei mir im worst-case also max. 5us ;-)

Bin noch am Grübeln, ob weitere Optimierungen möglich wären.

Gruß, Mike

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.