Hallo Leute ich habe folgende Zeilen: Loop: cbi PORTB, 0x04 sbi PORTB, 0x04 rjmp Loop Diese 3 Zeilen brauchen genau 6 Zyklen und 5µs. Wenn ich das mal hoch rechne komme ich auf 1200000 Zyklen in einer Sekunde. Der ATTiny13A müsste eigentlich Standartmäßig auf 9,6MHz eingestellt sein. Bedeutet, 9600000 in einer Sekunde. Macht für die 6 Zyklen eigentlich 0,625µs. Hab ich da einen Denkfehler, oder ist der Tiny auf 1,2MHz??? Kann mich da einer mal einfach aufklähren?
Auf was ist denn CKSEL[0:1] programmiert ? Vielleicht ist ja CKDIV8 programmiert. "The device is shipped with the CKDIV8 Fuse programmed" Übrigens: Standard. Nicht Standarte.
Hi Armin, Taktzyklen sind sind Abhängig vom Prozessor-Befehl... 1/2/3 Zyklen. Wie schnell die Zyklen abgearbeitet werden bestimmt der Prozessor-Takt. Wie kommst du auf "3 Zeilen brauchen genau 6 Zyklen und 5 µS?
Ich habe geschaut wie viele Zyklen der Counter im Debug hoch zählt. Die Zeit habe ich mit einem Oszyloskop gemessen. Das mit dem Fuse hört sich plausibel an. Werde das mal überprüfen.
Chris D. schrieb: > Wie kommst du auf "3 Zeilen brauchen genau 6 Zyklen und 5 µS? Er hat vielleicht einfach nur das RICHTIGE getan und im instruction set reference manual nachgeschaut, wieviele Zyklen die verwendeten Instruktionen benötigen? Wenn ja, benutzt er offensichtlich keinen ATxmega, sondern einen "normalen" AVR8. Beim ATxmega würde die Schleife nur 4 Zyklen brauchen... Allerdings: die ganz neuen ATtinys haben den Kern der ATxmegas, auch bei denen würde die Schleife also nur vier Takte dauern. Es ist also wohl nicht länger zielführend, zwischen "normalen" AVR8 und ATxmega zu unterscheiden...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.