Programm auf PC und AVR: unterschiedliche Ergebnisse

Gast #238792
Lesenswert?
• ▲
▼
Das Programm misst Werte vom ADC, legt über die letzen 64 Werte eine
Ausgleichsgerade und misst so die Steigung, die im Ruhszustand (also
ADC Werte ändern sich nicht) auf 0 liegen sollte.
Allerdings ist diese immer leicht negativ.
Die rohen Messwerte und das Ergebniss lasse ich mir auch über den UART
ausgeben, berechne auf dem PC (mit genau demselben Code) die Steigung
und da bekomme ich die richtigen Werte.

Wo steckt also der Fehler ?
Angehängte Dateien:
Gast #238795
Lesenswert?
• ▲
▼
Besser noch:
1
printf("char %d short %d int %d long %d longlong %d bit\n", 
2
       CHAR_BIT * sizeof (char),
3
       CHAR_BIT * sizeof (short),
4
       CHAR_BIT * sizeof (int), 
5
       CHAR_BIT * sizeof (long),
6
       CHAR_BIT * sizeof (long long));

Es soll ja auch Plattformen geben, auf denen ein Byte nicht 8 bit breit
ist.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren