www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfängerproblem (CC5X)


Autor: WalterP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Turbotoni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man müste nen Pullup am Eingang schalten, oder die internen pullups 
nutzen

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: WalterP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mehrmals geschaut, ob ich irgend wo nen µC typ sehe.
da ich nix gesehen hatte, bin ich von AVR ausgegangen ;)
hab mich bloß über den Code gewundert, dachte dann aber es sei sowas 
bascom mäßiges.

Jetzt seh ich s in der Überschrift.

Autor: WalterP (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.