Hallo
Nachdem ich es endlich geschafft habe einen Schaltkreis für eine Led
Sequenz aufzubauen, habe ich versucht den Code laufen zu lassen. Dieser
funktioniert perfekt auf meinem DemoBoard (auf PORTD), nicht aber in
meiner Schaltung. Hier bleibt die LED an RB4 auf on und auf RB3 blinkt
es nicht. Die Schaltung habe ich mehrfach überprüfen lassen, daran liegt
es nicht. Sie besteht aus +5V and beiden VDD und Ground an beiden VSS,
dazwischen je ein Kondensator. MCLRE ist mit einem 10Ohm Kondensator an
VDD, von RB0 - RB7 ist je eine LED mit 150k Widerstand daran. Die
Spannung kommt von einem Spannungsgeber (5V).
Mein Code ist unten.
Woran könnte der Fehler liegen? Ich vermute stark dass sich der Quarz
irgendwie aufhängt, wüsste aber nicht warum. Vielen Dank für jegliche
Hilfe.
> Ich vermute stark dass sich der Quarz irgendwie aufhängt,> wüsste aber nicht warum
deine Vermutng ist genauso unsinnig wie die Annahme, daß Außerirdische
deine Schaltung per Fernwirkung sabotieren.
Aus welchem Grund und mit welchem physikalischen Gegebenheiten sollte
sich "ein Quarz aufhängen" ????
>MCLRE ist mit einem 10Ohm Kondensator an VDD,
Bisschen klein das Teil.
> von RB0 - RB7 ist je eine LED mit 150k Widerstand daran.
Das soll ja wohl ein Witz sein oder was?
spark schrieb:> MCLRE ist mit einem 10Ohm Kondensator an
Ich hoffe du weißt schon das du da wirres Zeug geschrieben hast?!
Und das mit den 150k kannst du gleich vergessen ;).
Rechne mal den Strom aus den dann hättest...bei 5V und 150k hättest du
einen Strom von knapp 33µA.
Ich geh mal davon aus das du ganz normale 20mA standart LEDs hast. Dann
kannst du dir ja ganz einfach ausrechnen, das eine LED einen R von 250
Ohm brauch!
Ob am MCLR nun 10k dran ist oder 10R spielt an und fuer sich keine so
grosse Rolle (mal so Geschichten wie Latchup etc. ausgeschlossen).
Aber der LED Strom....
Ich nutze diese Config
Aussderdem musst du die ANSEL Register setzen (je nach Einstellung des
PBADEN Bit).
Auch bei manchen Sachen des PIC das akutelle Errata beachten, der
PIC18F45K22 hat da paar kleinere Bugs.
Sonst fuer PIC gerne www.fernando-heitor.de anschauen. :)
Es ist natürlich ein 150 Ohm Widerstand.... Die LED leuchten ja auch.
Sie laufen mit 2V und 20mA.
Danke Hans W. ich werde das heute mal ausprobieren und mir das mit den
ANSEL Register anschauen.
> deine Vermutng ist genauso unsinnig wie die Annahme, daß Außerirdische> deine Schaltung per Fernwirkung sabotieren.
Dachte die Wahrscheinlichkeit dass etwas mit dem MCLRE oder mit dem
Widerstand nicht stimmt und er dadurch dauernd resettet sei grösser, als
das Ausserirdische meine Schaltung sabotieren würden...
Gibt es keine Entsprechung von PBADEN für PORTA? Warum werden hier die
ANSEL Bits nicht gleich gesetzt wie bei den anderen Ports?
Noch ne Frage: Mir ist nicht klar wofür das output mux bit ist. Im
Datasheet steht zwar was die Setzung von P2BMX bewirkt, auch dass der
jetztige Wert falsch ist, ich möchte aber die Funktion dieses Bits
verstehen.
Schreib mal die Loop um
Loop:
DECFSZ Delay1, F
GOTO Loop
DCFSNZ Delay2, F
GOTO Loop
BTG PORTB, RB3
goto Loop
Das sollte ein Blinken von so 7Hz ergeben.
>Gibt es keine Entsprechung von PBADEN für PORTA? Warum werden hier die>ANSEL Bits nicht gleich gesetzt wie bei den anderen Ports?
Weils so ist und das Bit in der CONFIG PortB Analog Enable (oder so
aehnlihc heissen soll).
>Noch ne Frage: Mir ist nicht klar wofür das output mux bit ist. Im>Datasheet steht zwar was die Setzung von P2BMX bewirkt, auch dass der>jetztige Wert falsch ist, ich möchte aber die Funktion dieses Bits>verstehen.
Wenn es doch im Datenblatt steht, was ist nicht klar? Es legt fest wohin
der Ausgang der CCP Module gelegt wird (die du aber gar nicht
verwendest, daher der Wert nicht falsch sein kann).