Forum: Mikrocontroller und Digitale Elektronik 4 externe Interrupts möglich?


von Jürgen H. (misteret)


Lesenswert?

Hallo leute,

ich wollte an einen ATmega16 zwei Lichtschranken anstecken.

Und zwar einmal soll durch die High Flanken gezählt werden, und falls 
ich mal andere Lichtschranken verwende vielleicht auch mal mit den Low 
Flanken.

Dazu würde ich dann 4 Anschlüsse verwenden, sodass beides möglich wäre.


Geht das, dass ich das Ganze an PORTA anschließe?
Also sozusagen mit 4 externen Interrupts?

Eigentlich sind ja PD3 für INT1 und PD2 für INT0 vergeben.
Ich weiß grad nicht weiter, denn ich bräuchte ja für zwei Lichtschranken 
im High Activ Modus 2 Pins und für 2 Lichtschranken im Low Activ Modus 2 
Pins, an denen ich auch einen externen Interrupt auslösen kann...

von Timmo H. (masterfx)


Lesenswert?

Wenn es Lichtschranken gibt, die nicht gleichzeitig aktiv sind kannst du 
die ja an einen INT anschließen und parallel noch an einen weiteren 
Eingang um zu unterscheiden welcher es nun war.
Oder du pollst einfach.

von ... .. (docean) Benutzerseite


Lesenswert?

muss es der ATMEga16 sein?

der ATmega168 kann (fast) jeden IO-Pin als Interrupt verwenden...

sonnst müsstest du alle 4 Signale auf ein OR führen und auf 4 IO Pins, 
und dann in Software prüfen welcher denn nun wirklich was von dir will

von Peter D. (peda)


Lesenswert?

Nimm den ATmega164P, der ist pinkompatibel zum veralteten ATmega16 und 
kann auf jedem Pin interrupten.


Peter

von Werner B. (werner-b)


Lesenswert?

Als vierten Interrupteingang den Input Capture verwenden.

von crazy horse (Gast)


Lesenswert?

oder du nimmst einen Jumper, der die Software dahingehend beeinflusst, 
ob rising oder falling edge den interrupt auslöst.

von Jürgen H. (misteret)


Lesenswert?

Mh na eigentlich kann ich ja auch sagen:

if (Pin auf High) {}

und dann sag ich dem Burschen einfach, was ich von ihm will.


Dachte nur, mit interrupts ist es etwas eleganter..


Aber danke für die Tips mit dem Mega168!

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.