Tolleranz bei der Berechung wegen Timerschritten

Gast #1104645
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???
#1104653
@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
Gast #1104782
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
#1104827
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
Gast #1104855
@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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.