Tasterentprellung

Gast #3970196
Lesenswert?
• ▲
▼
Hallo,

ich weiss, es wurde schon sehr oft diskutiert.
Ich bin haber blutiger Anfänger und verstehe nicht ganz genau was hier 
passiert.


#define TASTERPORT PINC
#define TASTERBIT PINC1


    if(zustand == 0 && !(TASTERPORT & (1<<TASTERBIT)))


Ist TASTERPORT der ganze Port? z.B. P0 also 8 Bit
Ist TASTERBIT ein Pin am Port? z.B P0.0 also 1 Bit

Wenn das so ist, wäre doch P0.0 immer 0.
Wie gesagt, ich verstehe es nicht. Könnte es mir vielleicht jemand 
erklären?
Mir geht es nur um diesen Ausdruck: (TASTERPORT & (1<<TASTERBIT)

Den rest habe ich verstanden.

Danke
#3970219
Lesenswert?
• ▲
▼
Anfänger schrieb:
> Wieso schiebe ich hier das TASTERBIT um eins nach links also an die
> höherwertige Stelle.
Eins wird um Tasterbit nach links geschoben
> Es ist doch nur ein Bit.
Nein, es ist nur eine Zahl, die sagt an welcher Stelle das bit im PINx 
Register ist.

PINC1 ist irgendwo als 1 definiert. TASTERPORT & (1<<TASTERBIT) sieht 
nach dem Präprozessor so aus:
1
PINC & (1<<1)

(1<<1) entspricht dann 0b00000010, das wir dann bitweiße mit dem PINC 
Register verUNDet [1], z.B.
1
1) PINC = 0bxxxxxx1x
2

3
  0bxxxxxx1x &
4
  0b00000010
5
  ----------
6
 =0b00000010  =  True
7

8
2) PINC = 0bxxxxxx0x
9

10
  0bxxxxxx0x &
11
  0b00000010
12
  ----------
13
 =0b00000000  =  False
14

15
x = don't care

Der Ausdruck
1
(TASTERPORT & (1<<TASTERBIT))
ist also True wenn der Eingang High ist, und False wenn er low ist.

[1] UND:
1
 A   B  | A & B
2
 0   0  |   0
3
 0   1  |   0
4
 1   0  |   0
5
 1   1  |   1

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.