Anfängerproblem (CC5X)

Gast #1329706
Liebe Leute!

an portb.0 hängt ein Taster gegen Masse. der heißt bei mir i1.
red, yel und grn sind LED's.
Jetzt denke ich, wenn die Taste gedrückt wird, sollte sich im 
Programmablauf was ändern ( if(i1)...)

das proggy läuft jedoch immer in den else-zweig hinein...
auch die andere variante mit 'Taste' und maskieren des Ports bringt 
dasselbe Ergebnis.

Wer kann mir helfen?

Danke!
Walter


TRISB = 0b.1111.0001;    // Ausgänge: Ports 1,2,3     Eingänge: 
0,4,5,6,7
bit red @ PORTB.3;
bit yel @ PORTB.2;
bit grn @ PORTB.1;
bit i1  @ PORTB.0;

unsigned Taste;
Taste = PORTB & 0b.0000.0001;

while(1)
{  if (i1)
   {  red=0;
      yel=0;
      grn=1;
   }
   else
   {  red=1;
      yel=1;
      grn=0;
   }
}   // end while
}  // end main
3 sachen:
1.  Turbotonis Antwort
2. du fragst Taste for der SChleife ab, das müsstest du rein ziehen.
3. dein taster schaltet gegen masse, das heit die logik ist umgedreht.
   wenn taster gedrückt, dann ist eingang 0, wenn nicht gedrückt, dann 
ist eingang 1


edit:
4. du darfst nicht das PORTB-register Fragen, da aktiviert an die 
Pullups, sondern das PINB register
Gast
danke an Euch!!!

@turbotoni - ein ganz heißer tipp ,.)))

@vlad: ad 2 - natürlich - Du hast ja so recht - mittlerweile mache ich 
es aber auf die ursprüngliche Variante (mit i1).

ad 4.: hmm - wie frag ich das PINB denn? mit PORTB geht es jetzt 
einwandfrei - oder handle ich mir da zukünftige Probleme ein?

lg walter
Gast
>ad 4.: hmm - wie frag ich das PINB denn? mit PORTB geht es jetzt
>einwandfrei - oder handle ich mir da zukünftige Probleme ein?

PORTB ist ok. PICs haben kein PINB.
Gast
danke euch beiden nochmals für die 'rege anteilnahme'...

also - dieses forum ist ein hit - wie einem da geholfen wird, und noch 
dazu sooo rasch!!!


lg w

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.