Ahh, der Moderator höchstpersönlich 
Ich finds nett, dass ich hier so freundlich aufgenommen wurde. Besonderen Dank fällt natürlich an Sebastian, der sich besonders um mich bemüht und sicher auch mal die Augen verdrehen muss 
Danke auch Florian, dass ich mich an dich wenden darf.
Ich gehe auch grad den Code mit dem Timer durch, also damit das Prellen des Tasters unterdrückt wird.
Aber was ich nicht ganz verstehe. Er führt doch nur einmal am Anfang beim Starten des Programm das hier aus
Code:
;;Timer Register werden belegt
;;Ich nehme hier den Timer 0
ldi tmp,(1<<CS02) | (1<<CS00) ;prescaller ist 1024
out TCCR0,tmp ;Register TCCR0 ist für den Prescaller zuständig
ldi tmp,(1<<TOIE0);Hier werden Interrupts nach Timer0 Überlauf eingeschaltet
out TIMSK,tmp ;Register TIMSK ist dafür zuständig
ldi tmp,time ;Hier wird der Timer vorgeladen und zwar mit 255-254
out TCNT0,tmp ; Er läuft 254 mal durch bevor ein Interrupt auftritt
sei ;mein Lieblingsfehler, na was den Interrupts allgemein zulassen
Und dann springt er ja zur loop und wartet bis ich den Taster drücke und springt dann in den Interrupt zeitum. Und dort wird nichts mehr von timer oder was anderes erwähnt. Also woher weiß das Programm dann, dass er warten soll?
Wenn ich das richtig verstanden habe, ist das sone Art Standardcode, den man oben beim "reset" einfügt, sodass dann bei jedem Interrupt eine bestimmte Zeit gewartet wird?
Und so wie ich das sehe, sind die Register TCCR0, TIMSK, TCNT0 festgelegte Register für Timer-Sachen?
Und was hat das 255-254 genau zu bedeuten? Ok, er läuft 254 mal eine Schleife ab, bevor ein Interrupt durchgeführt wird, aber wieso dann die 255?
Fragen über Fragen, aber der Mensch ist ja neugierig 
Gruß
Thomas
[edit]
Ok, danke Sebastion, ich denk ich hab das mit dem VCC soweit verstanden, muss ich dann nochmal genauer schauen, wie das bei mir ist. Solang ich den Code kommentiere, damit ich ihn noch verstehe, ist das denk ich in Ordnung.
Lesezeichen