PLL beeinflußt Timer0 des ATtiny261

OP #2160156
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
Gast
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
OP
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? ;-)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 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.