Zitat Zitat von jagdfalke
Hi,
wo das Tutorial versagt muss ich euch mal fragen:
1 . Fängt der Timer mit
Code:
TCCR0 |= (1<<CS00) | (1<<CS02);
bereits an zu laufen?
nein.
das richtige Bit in TIMSK muss auch gesetzt werden.
zusätzlich musst du noch Global Interrupt Enable im Statusregister setzen am besten mit sei();
mit cli(); werden die Interrupts wieder ausgeschaltet.
2.
Ok, erscheint mir logisch. Aber wie man das macht, dass ein Timer-Overflow-Interrupt ausgelöst und eine Routing abgearbeitet wird steht nicht dabei. Kann mir da jemand helfen?
SIGNAL (SIG_OVERFLOW0)
{
/* dein code */
}
SIG_OVERFLOW0 mit dem Interrupt ersetzen den du nutzen willst.
Statt SIGNAL kannst du auch INTERRUPT verwenden. Dann bleiben aber die Interrupts aktiviert während der Interrupt abgearbeitet wird. Kann zu Problemen führen => im Zweifel SIGNAL
3. Der aktuelle Wert steht ja in TCNT0. Aber wie bekomm ich die Zahl damit ich sie z.B. über UART ausgeben kann? Nem 8-Bit Integer zuweisen?
foo=TNCT0; sollte tun.

alles aus dem Gedächtnis, hoffe das stimmt so alles

HTH