Danke Michael !
Ich grübel mir nun schon den Kopf wund, wie ich das mit dem Timing machen soll, ich sage ja ich bin da fast Neueinsteiger in Sachen Timer,PWm, Interruppt.
Ich habe jetzt erst mal folgenden Code:
Code:
#include <avr/interrupt.h>
#include <stdint.h>
// ATTiny13
// F_CPU 4800000Hz intern
// PIN B4 = LED Ausgang
// PIN B2 = LED Anzeige Überlauf Timer
// PIN B3 INPUT  LOW oder HIGH
volatile int timer_overflow_count = 0;
uint8_t FLAG = 1;
ISR(TIM0_OVF_vect)
 {
   if (++timer_overflow_count >18)
   //(4800000 /(255x1024x18)
    {  
      // Toggle Port B Pin 2 output status
      PORTB ^= 1<<PB2;     // LED blinkt in ca. 1sec. Abstand etwa...
     // FLAG != FLAG;
      timer_overflow_count = 0;
    }
}

int main(void) {
   // Set up Port B pin 2 mode to output
    DDRB = 1<<DDB2;

   // prescale timer to 1/1024th the clock rate 
   // = 4867.5 Hz bei 4,8MHz 
    TCCR0B |= (1<<CS02) | (1<<CS00);
   // prescale timer to 1/8th the clock rate
   //TCCR0B |= (1<<CS01);

   // enable timer overflow interrupt
   TIMSK0 |=1<<TOIE0;
   sei();

   while(1) {

      //  ISR handle the LED forever
   }
}
Damit habe ich etwas das Timing verstanden zu kapieren...nun müsste der Takt aber nicht 255 x ablaufen bis zum Überlauf, sondern nur noch 200. Gibt es nicht eine Methode, wo ich den Zähler schon auf 55 voreinstellen kann , so das nur noch 200 Takte bis zum Überlauf gebraucht werden ??
Ich lesen das Datenblatt jetzt schon mehr mals rauf und runter , kann es nicht finden...
Dies muss ich erst mal kapieren , ehe ich mich mit dem Weiteren befassen kann...

Gruss und Dank

Gerhard