Schalter als Eingabe

Gast #88619
Hallo,
ich experimentiere momentan mit einen ATmega8.
Leider habe ich von Elektronik keine besonders gute Ahnung.

Ich möchte 4 "Pinne" des Port D als Eingang nutzen,
und habe aus diesem Grund auf jeden der "Pinne" Vcc gelegt,
das ich durch einen Taster schalten kann.

Dieses funktioniert auch, leider erkennt der Controller dies irgendwie
nicht, da PIND immer den gleichen Wert besitzt.
(DDRD wurde zuvor auf 0 gesetzt ;-) ).
Ich möchte dies auch unbedingt mit "positiven" Signalen tun,
und nicht wie im Tutorial (welches ich wirklich ausgezeichnet finde)
mit negativen...


Kann mir jemand helfen?

MfG
Batti
Gast
Dann müßtest Du von jedem PIND-Eingang einen Pull-Down-Widerstand gegen
Masse schalten (so ca. 2-3 kOhm), so daß der Eingang im nicht
gedrückten Zustand des Schalters auch sicher Low-Potential führt.

Zusätzlich mußt Du darauf achten, daß die Pull-up-Widerstände für diese
Pins im Atmel softwaremäßig ausgeschaltet sind, d.h. PORTD sollte für
diese Pins auf 0 gesetzt sein.

Greetz
KMT

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.