Attiny läuft langsam

OP #1007785
Lesenswert?
• ▲
▼
Hi Leute hab mal ne kleine Frage.

Und zwar habe ich hier einen Attiny 13 der mit 9.6 Mhz läuft.
Nun wollte ich testweise mal eine LED blinken lassen und nutze dafür die 
funktion:

void long_delay(uint16_t ms)
{
    for(; ms>0; ms--) _delay_ms(1);
}

damit die LED nach 10 Sekunden aus geht nutze ich den aufruf 
long_delay(10000).

das problem ist nun das sie aber erst nach 1minute20 ausgeht.

Stelle ich den CPU Tackt auf 4.8 geht sie erst nach 40 Sekunden aus.Habe 
die Frequenz auch korrekt in AVR Studio eingegeben.

Weiss einer woran es liegen kann?

Gruss Flo
Gast #1007851
Lesenswert?
• ▲
▼
Die Taktfrequenz eines Controllers kann man sehr schnell mit einem 
kleinen Testprogramm herausbekommen. Man schaltet in einer 
Endlosschleife einen Portpin abwechselnd auf H und L, und dazwischen 
ruft man eine Delay-Routine auf, die eine bekannte Anzahl Taktzyklen 
verbrät, z. B. diese:
1
Delay200KCyles:
2
    ldi  ZL, Low(40000)
3
    ldi  ZH, High(40000)
4

5
Delay200KCyclesLoop:
6
    nop                         ; 1 Cycle
7
    sbiw ZL, 1                  ; 2 Cycles
8
    brne Delay200KCyclesLoop    ; 2 Cycles
9

10
    ret

Damit ist der AVR für (fast) genau 200000 Taktzyklen beschäftigt. 
Folglich wird bei FOSC = 8 MHz der Pin mit der Frequenz 8000000/200000/2 
= 20 Hz togglen.  Das kann man leicht erfassen (Datenlogger, 
Frequenzmessgerät, Oszi, oder über einen Frequenzteiler weiter teilen 
und eine Stoppuhr benutzen).

Antwort schreiben

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.

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.