Forum: Mikrocontroller und Digitale Elektronik AT90S8515 Interrups dürch externe Signale


von AF80 (Gast)


Lesenswert?

Ist es möglich, bei einem H-Signal, was am Pin0 vom PortA anliegt einen
Interruupt auszulösen? Wenn ja, könnte mir vielleicht jemand ein
Beispiel dafür geben?
MFG und ein Frohes Neues!

von Irgwer (Gast)


Lesenswert?

nein

1. beim AT90S8515 liegen die externen Interrupts auf den Pins 2 und 3
des Ports D.

2. Der Interrupt kann entweder bei einer Flanke (Wechsel von Low nach
High oder umgekehrt) oder bei Low-Level ausgelöst werden.

am besten schaust du mal ins entsprechende Datenblatt.

von AF80 (Gast)


Lesenswert?

Ok, ich hab jetzt das Programm auf PIND umgeändert, funktioniert soweit
wieder alles.
Im Datenblatt hab ich was dazu gefunden: MCUCR

Da es mein zweiter Tag ist, wo ich mich mit dem AVR beschäftige, weiss
ich nicht, wie man das initialisiert :/ und im Forum find ich kaum was
brauchbares dazu. Kann mir jemand vielleich ein Beispiel für so eine
Initialisierung geben?

von Klaus Bröntgen (Gast)


Lesenswert?


von AF80 (Gast)


Lesenswert?

Danke, ist zwar assembler, aber so hab ich wenigstens richtige
suchwörter :)

von AF80 (Gast)


Lesenswert?

So, also, ich habs probiert :P
DDRD=0b00000000; // Port B: alle Pins sind Eingänge
MCUCR = _BV(ISC00);         // falling egde: int0
GIMSK = _BV(INT0);          // enable external int0
sei();


dann hab ich noch die funktion:
SIGNAL(SIG_INTERRUPT0)
{
   var++;
}

var ändert sich jedoch nciht, wenn ich auf die Taste drücke.

von AF80 (Gast)


Lesenswert?

Ahh sorry, das sollte MCUCR = _BV(ISC01); heißen ;>
Ok, danke, nun geh es ;)

von Klaus Bröntgen (Gast)


Lesenswert?

>ist zwar assembler...
achja, das hab ich nicht bedacht
>so hab ich wenigstens richtige suchwörter
na, immerhin was!

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.