Delay Zeit richtig berechnet?

Gast #2016972
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?
Gast #2016983
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.
Gast #2017010
Lesenswert?

Jetzt muss ich doch nochmal nach hacken. Das sind meine Einstellungen 
mit einem 12 MHz Keramik Resonator:
1
#pragma config FOSC   = HSPLL_HS
2
#pragma config PLLDIV   = 3  
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren