Hallo, habe ein Programm für ein lcd-display geschrieben Nach Ablauf des Programms sollte am PortB '01001111' anliegen, leider ist dies nicht der Fall! Am Steckboard liegt '00000110' Beim Debuggen in mplab kommt das richtige Ergebnis heraus Woran kann das liegen? grüsse Thomas
Analoge Eingänge per ADCON*-Register abgeschaltet? Schau auf weitere Zweitfunktionen wie z.B. SOSC etc. fchk
Hm, also das ADCON-Register wirkt sich ja nur auf PortA aus übrigens, benutze den pic16f876 Auch glaube ich nicht dass die Pins des PORTB auf eine Zweitfunktion geschaltet sind, da das ganze PORTB auf Ausgang geschaltet ist
Du hast bestimmt LVP in den Configuration-Words eingestellt. LVP_OFF sollte deine Wahl sein.
LVP hab ich auf off Anja schrieb: > Debugger an Port PB6 + PB7 aktiviert? Debugger läuft unter mplab softwaremäßig also nicht in-circuit-debugger
Und welche Port-Pins verwendet der MP-Lap-Software-Debugger? Oder ist der gar nicht mit der Hardware verbunden?
Evtl. auch ein Read-Modify-Write-Fehler, aber mit den dürftigen Angaben hier ist es schwer zu sagen.
read-modify fehler? Hier ein Auszug meines Programmes! PortB natürlich auf output geschaltet!
Tom schrieb: > gar nicht mit der hardware verbunden! Tom schrieb: > übrigens, benutze den pic16f876 > Auch glaube ich nicht dass die Pins des PORTB auf eine Zweitfunktion > geschaltet sind, da das ganze PORTB auf Ausgang geschaltet ist Gut daß wir das auch erfahren: aber vielleicht die Fuses (_DEBUG_ON) falsch gesetzt (PortB.6,7 hat nix mit LVP zu tun LVP ist auf PortB.3) _DEBUG_ON schaltet B6 + B7 auf die Debugging Funktion. Gruß Anja
Ottmar K. schrieb: > wäre vielleicht nicht ungeschickt den Quellcode zu posten! Und die Fuses (aber so wie sie im PIC programmiert sind). Möglicherweise macht sein Programmer irgendwas dummes. Gruß Anja
Also, hier das Programm, em, kurze Erklärung__> Das Programm sollte ein LCD-Modul steuern Wait, wait_2ms sind Warteschleifen lcddata enthält die Daten die an das PortB ausgegeben werden sollen wrdata=schreiben von Daten über das PORTB, dabei ist das PORTA,2 gesetzt wrinstr=schreiben von Befehlen über das PORTB, das PORTA,2 ist null +kommt auf einmal die Meldung codeprotected wenn ich das hex in den uC schreiben will, benutze den Brenner 8 von sprut, mit remove cp und erase pic lässt sich das problem nicht lösen. ?
mach nach dem main: ein " clrwdt" rein und vor dem End ein: clrwdt goto $-1 Daß der WDT eingeschaltet ist, und kein einziges clrdwt da ist, würde ich als Fehler ansehen. Ansonsten sollte es funktionieren.
Tom schrieb: > Auch glaube ich nicht dass die Pins des PORTB auf eine Zweitfunktion > geschaltet sind, da das ganze PORTB auf Ausgang geschaltet ist Falsch! Siehe "Analog Falle" (kA ob Deinen Pic ein HWM besitzt das Pins vom PortB benutzt)
Für die Nutzung eines ADC-Channels muss der Pin als Eingang geschaltet sein. Als Ausgang ist das egal. Doch evtl gibts noch vom Comperator-Modul ein Ausgang. Bisher hab ich bei PICs nur gesehen, dass eben Comperator- & ADC Verbindungen vor dem Digital IO kommen. Alles andere musste ich bisher extra dazu schalten, z.b. I2C.
So, muss mal das Basteln einstellen, neuer uC muss her, meiner ist *abgekr...* hihi
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.