Gast
#1718804
Hallo zusammen,
ich benutze der ATMega32/STK600
Ich möchte nacheinander mehrere Interrupt auslösen. Der ertse sollte
bei 1s (das habe ich schon im Griff) sich auslösen, der zweite soll ein
Hadware interrupt entweder mit PB3 oder PD4/5 sein bei 10s un der
dritte sollte ein sofware Interupt bei 30s. Ich habe den Timer1 mit 16
bit benutzt.
Frage:
Darf oder kann ich Overflow und Compare Interupt in den selben Code
ausführen?
Kann ich nur mit dem Timer2 die drei verschidenen Interrupt auslösen
oder soll ich der timer0 und timer1?
hier mein code
include<avr/io.h>
#include <avr/interrupt.h>
int main (void)
{
//int volatile counter =0;
DDRB=0xff;// Set LEDs to output
TCCR1B |=((1<<CS10)|(1<<CS11)|(1<<WGM12));// Set up timer in CTC Mode
TIMSK |= (1<<OCIE1A);//manage specifics inetrrupt___Enable compare
match with Timer/counter1
TCCR1A |= (1<<COM1A0);//
sei();
OCR1A=15624; // each one second
// OCR1B=19530;// each 20 seconde??????
while(1)
{}
}
ISR(TIMER1_COMPA_vect)
{
DDRB ^=0xff;// Led toggle
}
/*ISR(TIMER1_COMPB_vect)
{
DDRB ^=0xff;// Led toggle
}
*/
es toggle nur bei 1s.
vielen Dank