Frage zu den Interrupts beim ATTINY25

OP #6469842
Lesenswert?

hallo;
schließen sich der externe Interrupt INT0 und der PinChangeInterrupt 
gegenseitig aus ?
Wenn ich im GIMSK beide Bits setze (Bit 6 und Bit 5) habe ich den 
Eindruck der INT0 deaktiviert den PC-Int kann das sein ? Also der PC-Int 
wird nicht mehr ausgeführt obwohl das Bit gesetzt ist. Ist da was 
bekannt ?
Moderator Persönliche Seite #6469855
Lesenswert?

Michael S. schrieb:
> schließen sich der externe Interrupt INT0 und der PinChangeInterrupt
> gegenseitig aus ?

Nein, aber es gibt eine Priorität: der "normale" Externinterrupt wird 
beim gleichzeitigen Eintreffen beider vorrangig behandelt. Die ISR des 
Pinchange-Interrupts sollte danach allerdings trotzdem noch ausgeführt 
werden, es sei denn, die andere ISR setzt das PCIF (Pinchange Interrupt 
Flag) explizit zurück.
OP #6469862
Lesenswert?

so reagiert der PC-Int:

sbi PCMSK         , 0
sbi PCMSK         , 1

in  reg_tempi     , GIMSK
ori reg_tempi     , 0b00100000
out GIMSK         , reg_tempi

ldi reg_temp, 0
out MCUCR, reg_temp

in  reg_temp, GIMSK
ori reg_temp, 0b01000000
;out GIMSK   , reg_temp

und so reagiert er nicht:

sbi PCMSK         , 0
sbi PCMSK         , 1

in  reg_tempi     , GIMSK
ori reg_tempi     , 0b00100000
out GIMSK         , reg_tempi

ldi reg_temp, 0
out MCUCR, reg_temp

in  reg_temp, GIMSK
ori reg_temp, 0b01000000
out GIMSK   , reg_temp
Gast #6469908
Lesenswert?

Ohne das vollständige Programm werden wir hier wohl kaum weiterkommen; 
und es muss am Programm liegen, eventuell noch an der Art der 
Interruptauslösung. Ein Chipfehler hätte in all den Jahren sicher 
Eingang in die Errata gefunden.

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