www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tolleranz bei der Berechung wegen Timerschritten


Autor: Damian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um die frage mal allgemein zu gestalten, habe einen ATMega mit einem 
14,7456MHz Bautratenquarz. Möchte nun etwas möglichst schnell berechnen 
wo die Zeit in der Formel vorkommt. Damit mir das von den Maseinheiten 
aufgeht, müsste ich die Zeit auf mögichtst genau 1us Schritte haben (am 
liebsten wären mir der Timer hätte count's a 1us, was leider nicht geht, 
da der Bautratenquarz gegeben ist). Ich habe aber im genauesten fall nur 
counts a 0.542us sprich 2 count's entsprechen 1,084us sprich mein 
resulat wird mir dauernd 8.4% zu gross.
Wenn ich also was gemäss meiner formel bereche, wird das resultat um 
diese 8.4% zu gross. Möchte diese nun möglichst einfache und schnell 
(ohne divisionen, real, etc) korrigieren.
Was gitbs da so standartmässig für Möglichkeiten???

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Damian (Gast)

>14,7456MHz Bautratenquarz. Möchte nun etwas möglichst schnell berechnen
>wo die Zeit in der Formel vorkommt. Damit mir das von den Maseinheiten
>aufgeht, müsste ich die Zeit auf mögichtst genau 1us Schritte haben (am
>liebsten wären mir der Timer hätte count's a 1us, was leider nicht geht,
>da der Bautratenquarz gegeben ist). Ich habe aber im genauesten fall nur
>counts a 0.542us sprich 2 count's entsprechen 1,084us sprich mein
>resulat wird mir dauernd 8.4% zu gross.

Welches Resultat? Eine Zahl im Programm oder eine generierte Pulsbreite?

Quelltext?

>Wenn ich also was gemäss meiner formel bereche, wird das resultat um
>diese 8.4% zu gross. Möchte diese nun möglichst einfache und schnell
>(ohne divisionen, real, etc) korrigieren.

>Was gitbs da so standartmässig für Möglichkeiten???

Sag doch erstmal WAS du WIE berechnen willst. Formel?

MFg
Falk

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Manchmal muss man Kompromisse machen. Wenn du keine grossen Baudraten 
(>57600 Baud) benutzt ist der Bauratenfehler mehr als ausreichend klein. 
Dafür bekommst du eine genaue µs. Wenn du auf deinem Baudratenquarz 
beharrst, musst du mit der ungenauen µs leben.

"In zweifelhaften Fällen, entscheide man sich für das Richtige"
Karl Kraus

MfG Spess

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Damian wrote:
> Wenn ich also was gemäss meiner formel bereche, wird das resultat um
> diese 8.4% zu gross. Möchte diese nun möglichst einfache und schnell
> (ohne divisionen, real, etc) korrigieren.

Was hast Du denn gegens Rechnen?
Dafür sind doch MCs gemacht, die rechnen gerne.

Ein krumme Zahl ist außerdem nur reine Ansichtssache, mathematisch ist 
sie genau so gut, wie ne glatte.


Peter

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Damian

wenn du bei 14MHz Taktfequenz eine Zählfequenz von 1MHz erreichen 
willst, so hast du zwischen zwei count's eh nur 14 Takte zur Verfügung. 
Da wird nach Abzug der Takte die deine Zählung benötigt keine Zeit mehr 
bleiben überhaupt irgend etwas zu berechnen.

Sascha

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.