Forum: Mikrocontroller und Digitale Elektronik ATMEGA 8, EXT_INT0, viele Verständnisprobleme


von fredl (Gast)


Lesenswert?

Hallo wertes Forum,

ich möchte eine v. Hauptprgr. unabhängige Zeitschaltung starten, wenn an 
einem Portpin ein L-Signal anliegt.

Dafür bietet sich ja der EXT-INT0, der über den PORTD2 aktiviert wird.

Ursprünglich wollte ich PD2 als Eingang (mit pull-up-R) initialisieren 
und mit einem Taster nach L ziehen.

Im Datenblatt lese ich: "Activity on the pin will cause an interrupt
request even if INT0 is configured as an output."

Heißt dies, daß ich PD2 als Ausgang setzen soll? Stirbt da nichts, wenn 
ich mit dem Taster L-Pegel auf d. Ausgang lege?

Sehe ich da etwas falsch?
(dies sind nur drei mehrerer aufgetretenen Fragen)

fredl

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

fredl schrieb:
> Ursprünglich wollte ich PD2 als Eingang (mit pull-up-R) initialisieren
> und mit einem Taster nach L ziehen.

Dann mach das auch. Der Satz im DB will nur sagen, das selbst wenn der 
Pin als Ausgang konfiguriert ist, ein Interrupt ausgelöst wird, damit 
könnte man z.B. Software Interrupts auslösen (wenn ein Befehl diesen 
Portpin auf Low zieht).

von Rüdiger (Gast)


Lesenswert?

fredl schrieb:
> Ursprünglich wollte ich PD2 als Eingang (mit pull-up-R) initialisieren
> und mit einem Taster nach L ziehen.

Kannst du ruhig machen. Aber Taster prellen ohne Entprellmaßnahmen. Je 
nach Programm können da mehrere Interrupts per Tastendruck ausgelöst 
werden

> Im Datenblatt lese ich: "Activity on the pin will cause an interrupt
> request even if INT0 is configured as an output."

Der INT0 kann ausgelöst werden, wenn der Pin als Eingang konfiguriert 
ist. Er kann auch ausgelöst werden, wenn der Pin als Ausgang 
konfiguriert wird.

Kann man nutzen um etwas vom µC aus zu schalten und durch den 
Schaltvorgang gleichzeitig den INT0 auslösen. Normalerweise ist der Pin 
jedoch ein Eingang

> Heißt dies, daß ich PD2 als Ausgang setzen soll? Stirbt da nichts, wenn

Nein, muß kein Ausgang sein.

von Norbert S. (norberts)


Lesenswert?

fredl schrieb:
> Heißt dies, daß ich PD2 als Ausgang setzen soll? Stirbt da nichts, wenn
> ich mit dem Taster L-Pegel auf d. Ausgang lege?

Hi,

darfst Du sogar nicht als Ausgang setzen. Wenn Du dann an Portd.2 nichts 
weiter machst ist er immer hart auf Null und es wird nie was passieren.
Setzt Du ihn auf 1, schliesst der Taster ihn auf GND kurz.
Das Fiese ist: Das wird sogar erstmal funktionieren. Auch wenn jede 
Spez. weit überschritten wird, überlebt der µC das normalerweise 
erstmal. Nur wie lange und ob überhaupt weiß keiner, da fliessen so um 
und bei 80mA, auf Dauer wird der Käfer merklich warm.

Also nicht machen sondern einfach nur mit Portd.2 den Pullup 
einschalten.
Entprellen mit RC-Glied und nicht nur nen C parallel zum Taster, wie man 
es gelegentlich sieht. Das wäre jedesmal ein Kurzschluß für den Taster 
beim Schliessen. Edit: Auch dieser Murks funktioniert erstmal aber wie 
lange der Taster das überlebt steht in den Sternen.

Wird der Taster von Menschen betätigt, benötigt man aber normalerweise 
auch keinen Int. und bleibt freier beim Layout. Kann man machen, muß man 
aber nicht.

Gruß,
Norbert

von df2at (Gast)


Lesenswert?

Moin,
danke für die erklärenden Tips.
Werde es wie angedacht programmieren:

fredl schrieb:
> Ursprünglich wollte ich PD2 als Eingang (mit pull-up-R) initialisieren
> und mit einem Taster nach L ziehen.

-- Ja, ans Entprellen d. Tasters habe ich gedacht.

Weitere Fragen von mir werden sicherlich noch kommen.
Dann in einem neuen Beitrag.

Danke, fredl

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.