Forum: Mikrocontroller und Digitale Elektronik ARM sam7xc128 Überlaufproblematik


von constantin (Gast)


Angehängte Dateien:

Lesenswert?

sry jetzt hab ich ins falsche unterkapitel des forums geschrieben...
hier nochmal:
-----------------------------------------------------------------

hi,

ich habe einen 24bit (max. wert 0x00FFFFFF) adc an einem at91sam7xc128
laufen und möchte den gewandelten wert gerne in einem spannungswert am
hyperterminal sehen.
soweit so gut; durch irgendwelche fehler hab ich ne nichtlineare
abweichung der messwerte bzw der werte die als spannung angezeigt
werden(verwende ne sehr,sehr präzise referenzspannungsquelle als eingang
und vergleich damit die darstellung am hyperterminal). ok dacht ich mir
mach ne einfache regressionsgerade rein und korrigiere so die werte. im
excell funktioniert dass noch wunderbar aber im keil (µcvision3 v2.32)
passiert natürlich ein überlauf da "int" da doch einwenig klein ist.
klar könnt ich einfach n paar stellen weg kürzen da aber mein adc genau,
will sagen sehr sehr genau ist möcht ich schon sehen wann das rauschen
beginnt (ca bei 0,3µV).

mein problem ist also dass "int" (signed / unsigned) zu klein ist und
"float" -größen zur besseren verrechnung (die zahlen würden nicht soo
groß werden und würden ins "int" passen) nicht laufen oder ich überseh
da was.

hab auch mal n "int64_t" oder "quadword" probiert da passiert aber auch
n überlauf... :-(

sry ich kenn mich leider noch nicht wirklich gut in diesem controller
aus und vllt ists ne dumme sache ich da frag... fürn tipp bin ich wie
immer sehr dankbar.

gruß
constantin

von antworter (Gast)


Lesenswert?

Wie sieht denn der Algorithmus aus, bei dem Du mit 64-Bit-Werten einen 
Überlauf produzierst ?

Kurz: Poste mal Deinen Quelltext

von constantin (Gast)


Lesenswert?

@antworter: mach einfach aus den variablen im *.txt-file beim ersten 
post aus "int" "int64_t"-variablen. zumindest bei "spannung" muss n 
64bit datentyp hin, denk ich.

mehr code zu senden hat meiner meinung nach keinen sinn da dass nur zur 
verwirrung führen würde. das was im *.txt file ist das was wirklich 
passieren soll & wichtig ist.

gruß
constantin

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.