Timer1 im 1hz Takt

Hallo,

ich versuch verzweifelt den Timer0 im 1hz/1s Takt eine Interrupt-Routine aufrufen zu lassen, jedoch läut es immer viel zu schnell. Kann mir einer sagen was ich falsch mache?

ISR(TIMER1_COMPA_vect)
{
...
}
void setup(){ 
 cli();
 TCCR1B=0x04; // Teiler 1/256
 TCCR1B|=0x02; // Modus: Zählen bis Vergleichswert
 OCR1A=62500; // Vergleichswert speichern
 TIMSK1=0x02; // Interrupt bei Vergleichswert A
 sei ();
}
void loop() {
...
}

mfg fatTony

Ich denke dass das hier genau dein Problem behandelt: http://www.arduino.cc/playground/Deutsch/HalloWeltMitInterruptUndTimerlibrary

Oder:
http://www.arduino.cc/playground/Code/Timer1

und dann so ansteuern:

#include <TimerOne.h>

unsigned char Frequenz_1Hz_state;


 void generateFrequenz_38kHz()
  {
    /* PIN 9 togglen  */
   
    /* Toggle State */    
    Frequenz_1Hz_state = !Frequenz_1Hz_state;
    /* Set Port */
    PORTB |= (Frequenz_1Hz_state<<PORTB1);        
  }

void setup()
  { 
    Timer1.initialize(1000000);
 /* Ausgangs Pin Festlegen (PIN 9) und Duty Cycle Wert einstellen
  * Duty Cycle = 50%  (10bit = 1023 => 100%,   512 => 50%) 
  */
    Timer1.pwm(9, 512, 1000000);
    //Timer1.pwm(10, 512, 1000000);
 /* Beim Timer Überlauf wird ein Interrupt ausgelöst.
  * Hier wird die Funktion festgelegt, die aufgerufen wird, wenn der Interrupt ausgelöst wird
  */
    Timer1.attachInterrupt(generateFrequenz_1Hz, 1000000);    
 /* Pin 9 als Ausgang festlegen */
    pinMode(9, OUTPUT);


...}

void loop() { 


...
}