Wie groß können denn die gelieferten Werte werden? Bestimmt doch auch größer als 99, oder? In dem Fall ist buffer zu klein. Für eine dreistellige Zahl muss buffer die Größe 4 haben (drei Ziffern plus Null-Terminierung).

P.S. Frage noch an Stefan: welches sind string Konstanten in meinem Code?
All die Strings in Anführungszeichen, z.B.
Code:
lcd_puts("Sensor Board 2 Results: ");
Die belegen aktuell auch Platz im RAM, was aber nicht nötig wäre.