www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Delay Zeit richtig berechnet?


Autor: Delay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ist meine Rechnung richtig / habe ich es richtig verstanden?

Ich habe eine Funktion, welche 1000 Zyklen wartet:

/* Delay1KTCYx
 * Delay multiples of 1000 Tcy
 * Passing 0 (zero) results in a delay of 256,000 cycles.
 * The full range of [0,255] is supported.
 */

Also wenn ich Delay1KTCYx(1); aufrufe, wird 1000 Zyklen "gewartet", 
richtig?

Ich habe einen Takt von 48MHz (durch PLL). Also eine Zykluszeit von 
20,83(per)ns. Sprich 1000 "Wartezyklen" machen 20,83(per)µs. Ist das 
korrekt?

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jan, :-)

Rechnung stimmt.

Ein paar Zyklen werden noch für den Aufruf der Funktion und den 
Rücksprung draufgehen.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich habe einen Takt von 48MHz (durch PLL). Also eine Zykluszeit von
>20,83(per)ns. Sprich 1000 "Wartezyklen" machen 20,83(per)µs. Ist das
>korrekt?

Nein, der Takt muss immer noch durch 4 geteilt werden.
Es sind also knapp 84us.

Autor: Delay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo beide =), danke!

@holger: Ist das nicht nur vom externen Takt zu internen?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>@holger: Ist das nicht nur vom externen Takt zu internen?

Nein, das ist auch bei der PLL so. Schau dir im Datenblatt
mal das Diagramm zur Taktverteilung an.

Autor: Delay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay jetzt hab ich es gesehen. Danke dir!

Autor: Delay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt muss ich doch nochmal nach hacken. Das sind meine Einstellungen 
mit einem 12 MHz Keramik Resonator:
#pragma config FOSC   = HSPLL_HS
#pragma config PLLDIV   = 3  
#pragma config CPUDIV  = OSC1_PLL2  

Dann habe ich also einen 48 MHz Takt z.B. für USB und einen 24 MHz 
Takt(intern). Kann man das so sagen?

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.