Eingang am Attiny

Gast #3595683
Lesenswert?
• ▲
▼
Hallo,
ich weiss nicht, wie ich den eingang richtig schalten soll.
1
DDRB &= ~(1<<PB4);  
2
  PORTB |= (1<<PB4);

sobald ich jetzt den pin PB4 (ist ein Attiny) mit GND verbinde, schaltet 
der Eingang.
1
if(!(PINB&(1<<PINB4)))

Also ist der Eingang im prinzip die ganze zeit High und wird Low, wenn 
ich die verbindung trenne.

Ich hätte aber gerne, dass der Eingang die ganze Zeit auf Low ist und 
ich im prinzip die Verbindung von plus zum pin verbinde und somit der 
Eingang auf High wird.

Da habe ich allerdings keinen plan wie ich das anstellen soll. Hat da 
wer einen rat für mich?
#3595707
Lesenswert?
• ▲
▼
Hallo,

mit der Zeile
PORTB |= (1<<PB4);
hast du den internen Pullupwiderstand aktiviert, den du allerdings nicht 
möchtest. Das Register PORTB musst du an dem gewünschten Pin einfach auf 
0 setzen, dann kannst du es extern machen, so wie du es haben möchtest 
(Schalter zwischen VCC und Pin und Pulldown zwischen Pin und GND).

Hier ist dazu einiges erklärt:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Pullup-Widerstand

Gruß Kai
Gast #3595711
Lesenswert?
• ▲
▼
Kai S. schrieb:
> mit der Zeile
> DDRB &= ~(1<<PB4);
> hast du den internen Pullupwiderstand aktiviert,

falsch. damit hat er den Pin als Eingang konfiguriert.

Frank schrieb:
> PORTB |= (1<<PB4);

hier wird der Pullup aktiviert.
d.h. diese Zeile weglassen und einen externen Pulldown verwenden.

Allerdings spart man sich idR den externen Widerstand und benutzt den 
internen Pullup, weil es vollkommen egal ist, welche Pegel am Pin 
anliegen.

Dich interessiert ja nur:
"Taste gedrückt" oder "Taste nicht gedrückt"
Dafür ist der Pegel am Pin irrelevant

lg
Chris

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.