Wenn du noch genug Flash-Speicher übrig hast, ist die aus deiner Sicht
einfachste Variante:
1 | void lcd_pw(uint32_t pw)
|
2 | {
|
3 | char Buffer[15];
|
4 |
|
5 | sprintf( Buffer, "%u.%03u", (unsigned int)( pw / 1000 ),
|
6 | (unsigned int)( pw % 1000 ) );
|
7 | lcd_string( Buffer );
|
8 | }
|
Ansonsten kannst du ja bei deiner bisherigen Strategie bleiben und musst
für die Nachkommastellen ein paar 0-en nach Bedarf einfügen.
BTW: dein lcd-Array ist mit 3 Charactern zu klein dimensioniert.
itoa ist die falsche Funktion. Du hast unsigned Werte. Die
Funktion dafür heißt utoa.