Forum: Mikrocontroller und Digitale Elektronik PLL beeinflußt Timer0 des ATtiny261


von Laber K. (laberkeks010)


Lesenswert?

Hallo,

mein Code soll alle 100 µs ein kurzen Puls (1 µs) an einem Pin ausgeben.
Dazu habe ich folgendes geschrieben:
1
int main()
2
{
3
//  InitAVR_PLL();    // configure clock with PLL    
4
  InitAVR_ADC();    // init A/D-converter
5
  InitAVR_PWM();    // init PWM
6
  InitAVR_IO();    // define I/O-pins
7
  InitAVR_Timer0();  // define Timer0
8
9
  sei();        // activate interrupts
10
  while(1);
11
}

Das funktioniert auch solange gut, bis ich den PLL aktiviere. Dann löst 
der Timer nicht mehr alle 100 µs aus sondern nur noch alle ~130 µs.

Verdopple ich den Timer auf 200 µs, schafft es der µC, in der 
vorgegebenen Zeit Interrupts auszuführen.

Verringere ich den Timer auf 50 µs geht, zeigt er mir immer noch ~130 µs 
an.

Ich habe auch getestet, ob es an den anderen Funktionen liegt, aber 
diese zu deaktivieren und nur PLL aktivieren verlängerte die Abtastzeit 
von 50 µs auf ~140 µs.

Woran liegt das?

Vielen Dank,
laberkeks

von Glaskugelleser (Gast)


Lesenswert?

Falls es sein sollte, dass die PLL irgendwas mit dem Interrupt zu tun 
hat, könnte es sein, dass die Rechenzeit in einem höher priorisierten 
Interrupt zu lang ist und den ganzen Laden aufhält.
MfG

von Laber K. (laberkeks010)


Lesenswert?

hm... daran hatte ich auch schon gedacht. Habe allerdings im Datenblatt 
nichts dazu gefunden, daher gehe ich aus, dass das ganze hardware-seitig 
läuft und so nicht den Programmfluss beinträchtigen sollte.

Könnte aber auch sein, dass ich mich irre.

Weitere Denkanstöße? ;-)

von Laber K. (laberkeks010)


Lesenswert?

Auch sehr lustig:

- feste Zeit von 100 µs
- Verlängerung des Pulses auf zB 50 µs hat ebenfalls Einfluss

grrr

von Peter D. (peda)


Lesenswert?

Ein Quäl-Text mit unbekannten Funktionsaufrufen ist ziemlich witzlos.

Entweder Du postest was compilierbares oder läßt es sein.


Peter

von Ben _. (burning_silicon)


Lesenswert?

werden von der PLL irgendwelche hardwareeinstellungen wie vorteiler z.b. 
geändert?

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
Noch kein Account? Hier anmelden.