Ich hab das programm nun auf den Tiny geschrieben.
Nur scheint es darauf nicht zu funktionieren. Das ist mein Code:
Code:
#include <avr/io.h> 
#include <inttypes.h> 
#include <avr/interrupt.h> 

#define F_CPU 3686400 
#define timer (256-F_CPU/64/1000) 

#define RotH PORTB0 
#define RotV PORTB1 
#define BlauV PORTB2 

int ms; 

void initPorts() 
{ 
   DDRB |= (1<<PB0) | (1<<PB1) | (1<<PB2); 
} 

ISR(TIMER0_OVF_vect)                                                //Timer Interrupt Vector 
{ 
   TCNT0 = timer; 
   ms++; 
} 

int main(void) 
{ 

   initPorts();                                          // Timer Interrupt initialisieren 
   TIMSK |= (1<<TOIE0);    
   TCCR0A=0x05;                                             // 0b00000011, Vorteiler 1024 ca. 4khz 
   sei();                                                   // enable interrupts 

   do 
   { 

      if(ms <= 1) 
      { 
         PORTB &= ~( (1<<RotH) |   (1<<RotV) | (1<<BlauV));                           //PORTB Pins 0,1,2 auf low 
      } 

      if(ms >= 5& ms <= 100) 
      { 
         PORTB |= (1<<RotV);       
      } 

      if(ms >= 100& ms <= 210) 
      { 
         PORTB |= (1<<RotH); 
      } 

      if(ms >= 210& ms <= 400 ) 
      { 
         PORTB |= (1<<BlauV); 
         PORTB &= ~(1<<RotV); 
      } 

      if(ms >= 600) 
      { 
         ms = 0; 
      } 

   } 
   while (true);    

}
Ich habe einzig den TCCR0=0x05; auf TCCR0A=0x05; gewechselt da der beim Tiny anderst heisst. Hab ich sonst noch einen Fehler?
Auf dem Mega 8 hat es wunderbar funktioniert