Gast
#272381
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!
|
Anzeige
|
AT90S8515 Interrups dürch externe Signale
Gast
#272381
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!
Gast
#272382
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.
Gast
#272383
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?
Gast
#272384
Gast
#272385
Danke, ist zwar assembler, aber so hab ich wenigstens richtige suchwörter :)
Gast
#272386
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.
Gast
#272387
Ahh sorry, das sollte MCUCR = _BV(ISC01); heißen ;> Ok, danke, nun geh es ;)
Gast
#272388
>ist zwar assembler... achja, das hab ich nicht bedacht >so hab ich wenigstens richtige suchwörter na, immerhin was! Antwort schreiben |
Anzeige
|