Forum: Mikrocontroller und Digitale Elektronik tiny2313 ISR(PCINT_vect) wie Pin rausfinden


von Christoph Müller (Gast)


Lesenswert?

Hallo zusammen,

ich wollte grad mal mit den PCINTs rumspielen und musste rausfinden, 
dass es nur einen Pin-Change Interrupt Vector gibt. Wie finde ich den 
nun heraus an welchem von den 8 Pins der toggle stattfand? Ich steh grad 
irgendwie extrem aufm Schlauch.

Danke schonmal und Grüsse ;)

von Uwe B. (boerge) Benutzerseite


Lesenswert?

... indem man sich den "Vorzustand" der 8 Pins irgend wann schon mal 
gemerkt hat und beim Auftreten eines PCINT diesen mit der aktuellen 
Belegung vergleicht...

Uwe

von Sinusgeek (Gast)


Lesenswert?

Es gibt nur einen PC-Int pro 8-Bit-Port, beim Tiny2313 also nur einen.

Im (I/O-)Register PCMSK kanst Du aber eine Maske setzen, welche Bits den 
PC-Int auslösen dürfen.

~

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Sinusgeek wrote:
> Im (I/O-)Register PCMSK kanst Du aber eine Maske setzen, welche Bits den
> PC-Int auslösen dürfen.
>
Wenn allerdings mehr als ein Pin für PCINT via PCMSK zugelassen ist, hat 
er genau das gleiche Problem: welcher der Oins war es. ... also doch den 
alten Zustand irgendwo abgelegt und vergleichen, oder?

Uwe

von Sinusgeek (Gast)


Lesenswert?

> also doch den
> alten Zustand irgendwo abgelegt und vergleichen, oder?

Das habe ich doch nicht bestritten. Ich würde aber nicht vergleichen 
(CP) sondern EXORen.

~

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.