Taster Interrupt

Gast #3390563
Lesenswert?

Guten Abend,

ich brauche euer geschultes Auge für einen Taster Interrupt. Ich glaube 
ich seh den Wald vor lauter Bäumen nichtmehr.
Problem: Ich komme einfach nicht in die Routine rein.
Hardware: ATMega48; Taster an PD6 -> PCINT22

1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3

4
ISR(PCINT2_vect)
5
{
6
  PORTB &= ~(1<<DDB1);
7
  //TCCR0A = (1<<CS01);
8
}
9

10
ISR(TIMER0_COMPA_vect)
11
{
12
  
13
}
14

15
int main(void)
16
{
17
  DDRB = (1 << DDB0) | (1 << DDB1) | (1 << DDB2);
18
  ///Clear all LEDS
19
  PORTB = 0x00;
20
  
21
  DDRD |= (1<<DDD6);
22
  PORTD = (1<<DDD6);
23
  
24
  PORTB = (1<<DDB1);
25
  
26
  PCICR = (1<<PCIE2);
27
  PCMSK2 = (1<<PCINT22);
28
  //Timer starten
29
  //TCCR0A = (1<<CS01);
30
  TIMSK0 |= (1<<TOIE0);
31
  
32
  sei();
33
  
34
    while(1)
35
    {
36
        PORTB |= (1<<DDB1);
37
    }
38
}
Gast #3390653
Lesenswert?

Dan_Schneider schrieb:

> Guten Abend,
>
> ich brauche euer geschultes Auge für einen Taster Interrupt. Ich glaube
> ich seh den Wald vor lauter Bäumen nichtmehr.
> Problem: Ich komme einfach nicht in die Routine rein.

Was möchtest du eigentlich konkret tun?

Tastendruck     : Aktion
Taste los lassen: Aktion beenden?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren