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
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).
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.