ATMEGA644 Interrupt INT0

Gast #3152743
Lesenswert?

Hallo zusammen,

ich habe folgendes Problem.
Ich versuche vergeblich den Interrupt eingang des ATMEGA644 anzusteuern.
Dazu benutze ich PIND,2.
Jemand lust zu helfen?


ISR(INT0_vect)
{

}



int main(void)
{

DDRD =0x00; //PD2 als Eingang
PORTD|= 0xFF; //Pullup aktivieren
TCCR0A |= 0x00;
TCCR0B|= 0x07;
EIMSK |= (1<<INT0);
EICRA |= (1<<ISC01) | (1<<ISC00);


sei(); //Interrupts global aktivieren


 if(INT0==1)
 {
 Spannung++;
 }
(Firma: privatfrickler.de) #3152753
Lesenswert?

Hallo,

als Start wäre schonmal das vollständige Programm ganz hilfreich.
Dann wäre es praktisch zu erfahren, was passieren sollte und was 
passiert.

JamesOli schrieb:

> Dazu benutze ich PIND,2.

habe ich noch nie gehört, was bedeutet das?

> ISR(INT0_vect)
> {
>
> }

hmmm, Du willst also, dass nichts passiert?


wenn ich mir diese Zeile so ansehe:
> EIMSK |= (1<<INT0);


frage ich mich, was Du Dir hinsichtlich der Wirkung dieser Zeile 
versprichst:
>  if(INT0==1)

Ganz offensichtlich ist Dir doch – zumindest zeitweise – klar, dass INT0 
eine Konstante ist?

Hat der Mega32 überhaupt EIMSK?

Ist das genetische Programmierung? Einfach solange mutieren bis es 
passt? Dann brauchst Du aber noch ein paar tausend Jahre.

Beste Grüße

 Timm

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