Forum: Mikrocontroller und Digitale Elektronik ATMEGA644 Interrupt INT0


von JamesOli (Gast)


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++;
 }

von Mazze (Gast)


Lesenswert?

JamesOli schrieb:
> Jemand lust zu helfen?
Sollen wir jetzt für dich das Datenplatt durchlesen?

von Timm R. (Firma: privatfrickler.de) (treinisch)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.