Gast
#260004
Morgen,
ich hab n großes kleines Problem, und zwar wollte ich den Timer0 des
AT90s2313 starten, damit ein Register incrementieren und den aktuellen
Wert an einem Port anzeigen. Den Startwert zeigt es auch an, aber von
zählen ist keine Spur. Irgendwie scheint das mit C nicht so einfach zu
sein, kann mir vielleicht wer weiterhelfen?
... das ist mein Code:
#include <avr/io.h> // ohne wirds nicht gehen
#include <avr/wdt.h>
#include <avr/interrupt.h> // besser ist das
unsigned char counter = 7;
void main (void)
{
DDRB = 0xff; // Port B als Ausgang
TCCR0 = 0b00000101; // ck/1024
TIMSK = 0b00000010; // TIMER0 aktiv
sei(); // globale Freigabe
for (;;) {
PORTB = counter; // Wert anzeigen
} // Endlosschleife
}
SIGNAL (SIG_OVERFLOW0) // ISR Timer0
{
counter = counter + 1; // +1
}