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
Prüfe mal ob du das einstellen der Register TRISB und ANSELH auch in der richtigen jeweiligen Bank erledigst.
Teo D. schrieb: > Dieter K. schrieb: >> Wo steckt der Wurm? > > Im Code... Zeile 42?! Könnte auch Zeile 45 sein..
Rahul D. schrieb: > Jan S. schrieb: >> Könnte auch Zeile 45 sein.. > > Zumindest irgendwo im unsichtbaren Quellcode. Der TO gab schon in seinem letzen thread nur häppchenweise Informationen zu seinem Problem.-
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.
:
Bearbeitet durch User
1) Würde versuchen, den Port so wie im Datenblatt beschrieben zu initialisieren. 2) Hat der Widerstand wirklich 1k ?
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
Dieter K. schrieb: > Alles das habe ich ausprobiert, bevor ich den thread geschrieben habe. Und was noch?
Hans schrieb: > 1) > Würde versuchen, den Port so wie im Datenblatt beschrieben zu > initialisieren. > 2) > Hat der Widerstand wirklich 1k ? Initialisierung so geschehen. Widerstand = 1k erprobt am anderen Pin erfolgreich Dieter
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.