mikrocontroller.net

Forum: Compiler & IDEs log() mit Mega8


Autor: Thomas Fähsing (thomasf)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
beim natürlcihen logarithmus kommt ungefähr 1 raus.

Autor: Thomas Fähsing (thomasf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in c ist log = ln der mathematik

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wahrscheinlich prellt deine '2'-Taste, und du hast versehentlich

  log(22.7182)

eingegeben.

Autor: Thomas Fähsing (thomasf)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: risu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit WINAVR-20080610, ATmega8: log(2.7182)=0.999970

Autor: Thomas Fähsing (thomasf)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A-A
B-B

, es ist ein differentieller Bus, siehe RS485.

MFG
Falk

Autor: Thomas Fähsing (thomasf)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.