-
-
Also ich hab mir da jetzt mal was überlegt...bzw mit deinem Link da zusammengesucht und wollt fragen ob das prinzipiell laufen könnt.
TIMER2_interrupt_init(void)
{
TCCR2 = (1<<WGM21) (0<<WGM20) (1<<CS22) (1<<CS21) (1<<CS20);
TCNT2=0;
OCR2=249;
TIMSK = (1<<OCIE2);
}
int main(void)
{
if(PINA & (1<<PA7))
{sei()
TIMER2_interrupt_init
}
if(PINA & (1<<PA2)
{cli();
}
while(1);
}
ISR(TIMER2_COMP_vect)
{
z++
if(z==125){
sekunde++;
z=0;}
if(sekunde==60){
minute++;
sekunde=0;
if(minute==60){
stunde++;
minute = 0;
}
}
Nun ist es ja so, dass ich mit dem oberen Sensor den Timer starten und den mit dem unteren den Timer stoppen und auslesen will...für die Übertragung an den PC hab ich mir noch wenig gedanken gemacht...zuerst sollte das hier funktionieren!?
wenn ich mein Programm so laufen lass: Was passiert in dem Bereich in dem kein Sensor betätigt wird?Oder kann man das irgendwie machen, dass der nur auf steigende oder fallende Flanken reagiert?
Ist mein Programm prinzipiell richtig?Oder hab ich cli() und sei() falsch eingesetzt?
Vielen Dank und viele Grüße,
Jimmy
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen