Forum: Compiler & IDEs log() mit Mega8


von Thomas F. (thomasf)


Lesenswert?

Hi,

ich weiß nicht woran es liegt, aber der Mega8 berechnet mir den log() 
also ln im mathematischen Sinn nicht richtig.

der log(2,7182) solte fast 1 erbeben, mein Mega acht meint aber das es 
3,12 sein soll. auch andere testzahlen weichen total vom richtigen 
ergebnis ab.

habe ich etwas vergessen. der compiler mecker nicht. math.h ist 
eigenbunden. noch etwas zu erledigen?

vielen dank

Thomas

von sepp (Gast)


Lesenswert?

beim natürlcihen logarithmus kommt ungefähr 1 raus.

von Thomas F. (thomasf)


Lesenswert?

in c ist log = ln der mathematik

von yalu (Gast)


Lesenswert?

Wahrscheinlich prellt deine '2'-Taste, und du hast versehentlich

  log(22.7182)

eingegeben.

von Thomas F. (thomasf)


Lesenswert?

Hi,

nein ich habe den wert fest eingegeben. aber du hast recht mit diesem 
wert würde das ergebnis stimmen.

verdammt was kann das sein.

Thomas

von yalu (Gast)


Lesenswert?

> mein Mega acht meint aber das es 3,12 sein soll.

Wie stellst du das fest? Vielleicht liegt der Fehler gar nicht in der
Rechnung, sondern in der Ausgabe.

Ich glaube nicht, dass es sich dabei um einen Fehler im GCC oder der
AVR-Libc handelt, der wäre sicher schon aufgeflogen. Der AVR-GCC 4.3.2,
der mathematische Bibliotheksfunktionen mit konstanten Argumenten
bereits zur Compile-Zeit ausrechnet, liefert bei mir das richtige
Ergebnis. Mit dem 4.2.4 (Berechnung durch die AVR-Libc) kann ich es
gerade nicht testen, da ich nichts herumliegen habe, was den Code
ausführen könnte.

Damit es jemand anderer testen kann, solltest du noch die
Versionsnummern von GCC und AVR-Libc (bzw. die von WinAVR) angeben.

von risu (Gast)


Lesenswert?

Mit WINAVR-20080610, ATmega8: log(2.7182)=0.999970

von Thomas F. (thomasf)


Lesenswert?

Hi,

danke für die hilfen. ich habe feststellen müssen das es doch an der 
übertragung (RS485) gab. komisch das andere werte aber stimmten.

Wie schließt man eigentlich 2 MAX485 richtig zusammen. A-A, B-B oder 
A-B, B-A ?

schöne grüße

Thomas

von Falk B. (falk)


Lesenswert?

A-A
B-B

, es ist ein differentieller Bus, siehe RS485.

MFG
Falk

von Thomas F. (thomasf)


Lesenswert?

Hi,

also doch wie ich dachte. komisch das er einmal müll bei a-a, b-b raus 
gab und beim umstecken a-b, b-a dann richtige werte sendete. jetzt habe 
ich auch wieder getauscht und alles ist wnderba. sehr merkwürdig.

schönen sonntag noch

thomas

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.