RB0 am PIC16F884

OP #7590397
Lesenswert?
• ▲
▼

Hallo, Forum, bei folgender Einstellung: TRISB = 0: PORTB = Ausgang ANSELH = 0: PORTB = digital I/O PORTB = b'11111111' werden an RB1 bis RB7 angeschlossene LEDs wie gewünscht, eingeschaltet, die an RB0 gleichartig angeschlossene LED erhält keinen Strom. Am freien Pin RB0 liegt die volle Versorgungsspannung an; wenn die LED angeschlossen wird, geht die Spannung auf 1,9 V runter, ohne dass die LED leuchtet. (LED-Typen 2mA, Rv = 1 k). Wo steckt der Wurm? Dieter

#7590436
Lesenswert?
• ▲
▼

Der Code an sich ist korrekt, der Wert in ANSELH ist bei Output unerheblich, stört hier aber nicht.

Mögliche Fehler:

  • Feinschluss in der Verdrahtung/auf dem PCB?
  • kalte (hochohmige) Lötstelle, die 1,9V sind die Flußspannung der LED, beim hochohmigen Messen ohne LED gibt es kaum Spannungsabfall
  • PIC defekt?

Kannst Du den PIC entfernen und den PORTB.0 - Anschluss direkt an VDD klemmen und leuchtet die LED dann?

Gruß JRo

Edit: @hhinz: >Im Pinout falsch gezählt. Ist möglich, aber unwahrscheinlich, da RB0 zwischen RB1 und VDD liegt, also würde der Anschluss von RB1 oder von VDD versorgt.

OP #7590474
Lesenswert?
• ▲
▼

Johannes R. schrieb:

Mögliche Fehler:

  • Feinschluss in der Verdrahtung/auf dem PCB?
  • kalte (hochohmige) Lötstelle, die 1,9V sind die Flußspannung der LED, beim hochohmigen Messen ohne LED gibt es kaum Spannungsabfall
  • PIC defekt?

Kannst Du den PIC entfernen und den PORTB.0 - Anschluss direkt an VDD klemmen und leuchtet die LED dann?

Alles das habe ich ausprobiert, bevor ich den thread geschrieben habe. Ich habe auch einen zweiten PIC erfolglos eingesetzt. Dieter

OP #7590504
Lesenswert?
• ▲
▼

Rahul D. schrieb:

Zumindest irgendwo im unsichtbaren Quellcode.

Das stimmt sehr wahrscheinlich, denn ich habe mal zum Testen praktisch den gesamten Code gelöscht s. Anhang, und so funktioniert es. Was mich so verunsichert, ist, dass im dem gesamten (gelöschten) Code der PORTB nicht vorkommt, weshalb ich keinen Anhalt für eine Fehlersuche im Code erkennen kann. Dieter

Angehängte Dateien:
OP #7590518
Lesenswert?
• ▲
▼

Teo D. schrieb:

Im Code... Zeile 42?!

Tatsächlich, allerdings in Zeile 196 stand ein auf RB0 bezogener Befehl, den ich aus einem anderen Programm übernommen hatte, der aber in diesem Programm überflüssig war. Warum aber dieser Befehl in einem nicht aufgerufenen Unterprogramm die beschriebene Auswirkung hatte, bleibt mir schleierhaft. Besten Dank für Eure Hinweise! Dieter

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.