Hi,
nochmal mein Problem mit schlankem code

[code#include <avr/io.h>
#include <progmem.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
//Arbeitstakt angeben
#define SYSCLK 8000000UL
//usart ansprechen

volatile unsigned int count=0;
volatile unsigned int count2=0;
volatile unsigned int Stellweg=1;

void timer (void){
TIMSK = _BV(TOIE0); //overflow flag setzen--> ab jetzt kann overflow interrupt ausgelöst werden
TCNT0 = 0; //Rücksetzen des Timers
TCCR0 = _BV(CS01); //Prescaler 8
}
void timer1 (void){
TIMSK = _BV(TOIE1); //overflow flag setzen--> ab jetzt kann overflow interrupt ausgelöst werden
TCNT1 = 0; //Rücksetzen des Timers
TCCR1B = _BV(CS00); //Prescaler 1
}


int main(void) {
timer ();
timer1();
sei (); //interrupts ein
DDRB = 0xff;//PortB = Ausgabe
PORTB = 0xff;
for (; {
}
return 0;
}

//lässt led blinken
SIGNAL (SIG_OVERFLOW0) {
count++;
if (count==Stellweg){
if(PORTB & (1<<PB0)){
PORTB&=~(1<<PB0);
}
else{
PORTB|=(1<<PB0);
}
count=0;
}
}
SIGNAL (SIG_OVERFLOW1) {
count2++;
if (count2==31){
if(PORTB & (1<<PB1)){
PORTB&=~(1<<PB1);
}
else{
PORTB|=(1<<PB1);
}
count2=0;
}
}[/code]

hier laufen 2 Timer ein 16 und ein 8 bittiger.

In o.g. Fall wird nur der Timer1, also der 16 bittige, abgearbeitet.
Es scheint also nur ein Timer als Counter arbeiten zu können.
Hat jemand mal nen Link wo ich erfahre, wie man das AVR Studio als C Debuger nutzt? Das auf mikrocontroller.net ist irgendwie recht alt.