Keine Ahnung woher du dein atoi hast, aber normalerweise ist der Integer der Rückgabewert von atoi.
Laut der Dokumentation der avr-libc erwartet atoi nur einen Parameter, und das ist ein Pointer auf einen C-String, also eine Zeichenkette die am Ende mit einem Nullbyte abgeschlossen wird. SerRead gibt dir übrigens (nach meinem Wissensstand) KEINEN nullterminierten String zurück!
Ich fasse zusammen: Nichtexistente Funktion, kein C-String. Ach ja, das ganze könnte selbst dann nicht funktionieren, wenn es ein solches atoi gäbe. Du übergibst der Funktion nämlich den Wert von summand, damit kann sie aber nichts Anfangen. Sollte sie die Daten an der Speicherstelle ablegen, an der summand liegt, müsstest du einen Zeiger auf summand übergeben.
mfG
Markus
Lesezeichen