Zitat Zitat von izaseba
Wie kriegt man jetzt ein Komma dahin?
indem man itoa im Eigenbau benutzt

Kommt wieder aus dem Assembler:

Von der Ausgangszahl wird solange 1000 abgezogen, bis die Zahl kleiner als 1000 ist. man muß sich nur merken, wie oft mal 1000 abgezogen hat.

Code:
uint8_t zaehler = 0;
while (deinadcergebnis >= 1000) {
zaehler++;
deinadcergebnis -=1000;
}
Diese Lösung für Division mit Rest ist wohl die kürzeste (was Flash-Verbrauch angeht). Man kann sich aber auch in der libgcc2 bedienen bei Division mit Rest:

Code:
#include <inttypes.h>

/* Struktur definieren und Funktion bekannt machen */
typedef struct
{
	uint32_t quot; /* Quotien */
	uint32_t rem;  /* Rest */
} udiv32_t;

extern udiv32_t udiv32 (uint32_t, uint32_t) __asm__("__udivmodsi4");

...
{
   udiv32_t qrem;

   qrem = udiv32 (spannung_mV, 1000);

   spannung_vorkomma = qrem.quot;
   spannung_nachkomma = qrem.rem; /* von 0...999 */
}
Etwas mehr zu tippen aber ne gute Ecke schneller