Forum: Mikrocontroller und Digitale Elektronik itoa-befehl oder printf?


von Alexander A. (alex0815)


Lesenswert?

Hallöle,

ich habe gerade mit der itoa Methode mein LCD Display angesteuert. 
(http://shop.myavr.de/Baus%C3%A4tze%20und%20Platinen/myAVR%20Board%20MK2%20USB%20PLUS,%20Bausatz.htm?sp=article.sp.php&artID=47)

Diese Sache funktioniert so:
1
// Cursorposition 
2
 lcd_setcursor( 1, 1 );
3
4
// itoa( i, Buffer, 10 );
5
//Die Zahl i wird nach ASCII gewandelt und die String Repräsentierung 
6
//davon wird in Buffer abgelegt 
7
8
  itoa( zahl, Buffer, 10 );
9
  lcd_string( Buffer );  // Ausgabe an das LCD-Display

Das funktioniert Super.
Jetzt sehe ich aber auch die ganze Zeit was von der printf - Methode und 
ich frage mich welche Methode für den Atmage8 den besser ist ? Im Bezug 
auf Speicherplatz, Rechenleistung etc. Würde die printf-Funktion 
überhaupt auf dem Atmega8 funktionieren. (Noch nicht ausprobiert...)

Atmega8:
# 8 kByte Flash-Programmspeicher
# 512 Bytes EEPROM (100.000 Schreib/Lese Zyklen)
# 1K Byte internes SRAM
Frequenz des Quarzes beträgt 3,6 MHz


Vielen Dank

von Jean Payer (Gast)


Lesenswert?

Hi,
printf ist teurer als itoa und seine Verwandten.
Gruß

von KeinName (Gast)


Lesenswert?

Na dann probier das mal aus, besser kannste keine Erfahrung sammeln.
Brauchst ja auch nur mal einbinden und compilieren.
Ich habe festgestellt, daß printf sehr viel Speicherplatz benötigt.

von Alexander A. (alex0815)


Lesenswert?

KeinName schrieb:
> Na dann probier das mal aus, besser kannste keine Erfahrung sammeln.
> Brauchst ja auch nur mal einbinden und compilieren.
> Ich habe festgestellt, daß printf sehr viel Speicherplatz benötigt.

Danke, das reicht mir dann auch schon. Dachte nur Ihr sagt viellicht 
Finger weg vom printf oder so. Werde damm denke ich beim itoa bleiben. 
Es läuft ja ganz gut...

von Purzel H. (hacky)


Lesenswert?

Genau. printf() ist die eierlegende Wollmilchsau und die sollte man im 
Stall lassen. Braucht viel Zeit und auch viel Speicher, dh Flash und 
RAM. Spezialisten verwenden fuer eigene Zwecke noch den IntToHex, weil 
der noch schneller, noch sparender ist.

von Falk B. (falk)


Lesenswert?

Siehe auch Festkommaarithmetik

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
Noch kein Account? Hier anmelden.