uint16_t spannung;
spannung=result*3.125

Dann müsste die Spannung in Millivolt ausgegeben werden.
Nein, so einfach ist das nicht: result beinhaltet einen 10 Bit Wert. Wobei 0b0 das niedrigste Ergebnis ist, das der ADC liefern kann und 0b1111111111 (=1024) das Höchste (es würde deinen 3,125V enstprechen). Du kannst es so umrechnen:
float fErgebnis = (float)(result) / 1024.0f * 3.125f;