Klingt plausibel. Vielleicht bringt der idle mode meine Rechnung so durcheinander. Damit hab ich kaum Erfahrung. Wer weiß, was der für Zeiten auch beim Aufwachen braucht. Im DB finde ich dazu nicht wirklich was Konkretes. Am Einfachsten mal den Sleep überhaupt nicht verwenden und das Timing (OCR0A Werte) entsprechend anpassen.
Hab sonst keine Idee mehr. In Assembler sollte der Programmablauf schon taktgenau nachvollzogen werden können![]()
Gruß
Searcher
PS: Trotzdem könnte man den Takt nachmessen und mit Oszi schauen, ob er nicht jittert oder schwankt. Hab das kürzlich bei einem Tiny45 über den OC0A gemacht. Man mißt mit folgendem Programm den halben Systemtakt:
Bascom file zum Takt messen. Sollte leicht auf Deine IDE für Tiny13 anpaßbar sein.
Code:$regfile = "attiny45.dat" $framesize = 10 $swstack = 10 $hwstack = 10 $crystal = 1000000 $asm ;OCR0A vom System auf 0 sbi ddrb , 0 ;PB0 (OC0A) auf Ausgang stellen ldi r16 , &B0100_0010 ;COM0A0 (toggle OC0A), WGM01 (CTC mit OCR0A als top) out tccr0a , r16 ; ... ldi r16 , &b0000_0001 ;CS00 (no Timer prescaling) out tccr0b , r16 ;timer0 einschalten $end Asm
Lesezeichen