Tasterabfrage beim Mega8

Gast #711920
Lesenswert?
• ▲
▼
Hallo,

mit folgender Anweisung (auf dem Mega8), frage ich doch den ersten 
Taster an PortB ab, oder?
DDRB=0x00;    //Taster
PORTB=0xFF;    //Pull-Up
if (1<<PINB0)

Im AVRSTUDIO macht er immer mit der folgenden Anweisung weiter, obwohl 
ich bei PINB0 gar keine 1 angelegt habe. Wieso?
#711932
Lesenswert?
• ▲
▼
Patrick wrote:
> Wie ist denn Dein Schalter angeschlossen? Mit dem aktivieren der
> Pull-Ups wird Ein Eingang auf 1 gezogen. Deine if-Bedingung ist also
> immer wahr. Mach doch einfach:
> if (!PINB0);
Da PINB0 als 0 definiert ist, ist !PINB0 1, also ebenfalls immer wahr. 
Erst denken, dann schreiben...

Mit den Bedenken, was die Anschlussart des Tasters angeht, stimme ich 
allerdings zu. In den meisten Fällen (und auch auf den meisten mir 
bekannten Experimentierboards) sind die Taster Low-aktiv, und 
dementsprechend gibts ne Null am Pin bei gedrückter Taste...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.