Soweit ich weiß haben AVRs ja keinen Hardwareseitigen Koprozessor. Gibt es Möglichkeiten einen nachzurüsten (oder AVRs mit integriertem Koprozessor) damit man eine vernünftige Leistung bei floar-Werten bekommt?
Naja wenn man z.B. Audio- oder Signalberechnungen machen will wäre das schon nützlich. Ich weiß halt nicht ob man einen AVR hier überhaupt hernehmen kann, wäre hat praktisch.
AVR ist keine Eierlegende Wollmilchsau. Man kann damit manches machen, aber hohe Fliesskommaleistung gehört nicht dazu. Für sowas gibt es DSPs. Die sind darauf spezialisiert. Aber zuerst sollte man sich darüber klar werden, ob man das tatsächlich benötigt. Viele Rechnungen lassen sich auch als Festkommarechnung abwickeln. Das kann ein AVR etwas besser.
Wo ist jetzt der Unterschied zwischen Fest- und Fliesskommtberechnungen. Beide scheinen ja keine Ganzzahlberechnungen zu sein. Ich kenne eigentlich nur float und double, gibt es da noch andere Datentypen?
1.23 = 123 / 100. Und schon wird aus einer Fliesskommazahl eine Ganzzahl, mit gedachtem Punkt 2 Stellen von rechts. Und mit Ganzzahlen tut sich ein AVR etwas leichter, zumal bei Addition/Subtraktion. Festkomma: Bei allen Zahlen steht das Komma an der gleichen Stelle, also beispielsweise immer mit 2 Stellen nach dem Komma. Drum "fest" genannt. Addition/Subtraktion ist das Komma dann egal, nur bei Multiplikation/Division wird's komplizierter. Fliesskomma: Das Komma kann bei jeder Zahl woanders stehen. Fliessend eben. Hat bei Addition/Subtraktion langsame Schiebeoperationen zur Folge.
Ist das für C irgendwie vordefiniert oder muss man da seine eigenen Definitionen/Multiplikationsfunktionen reinmachen?
Nein, es gibt wohl eine vorgeschlagene Erweiterung für C99, aber die implementieren bisher nur ein paar wenige spezielle DSP-Compiler.
Zum Thema gibt es breits viele Beiträge, suche mal nach Rechnen Berechnung Float* Fix* in den Threads des Forums (in der Liste ist rechts oben ein Such-Feld). Deine Frage hatten wir übrigens vor kurzem: http://www.mikrocontroller.net/forum/read-1-412444.html
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.