Hallo allerseits, ich habe eine Testschaltung mit einem PIC 18F2550 aufgebaut. Nun wollte ich mal nur zum Anfang einen Port als Ausgang setzten und einen Pin auf High setzen. Leider ist der Pin nach Anlegen der Spannung nur ca. 3 Sekunden High, und dann wieder low. Der PIC scheint irgendwie abzustürzen. Ich habe schon alle Oszillatoreinstellungen probiert. Quarz-Kondensatoren passen auch. Ich finde einfach den Fehler nicht. Kann mir jemand weiter helfen? Folgenden Code habe ich zum Sezten des Ports verwendet (Ausschnitt) movlw B'00000000' movwf TRISD ;Port RD komplett als Ausgang movlw B'00001000' movwf LATD ;Setze RD3 auf High loop: goto loop Für Hilfen wäre ich sehr dankbar. Ich habe vorher mit Atmel AVR gearbeitet und steige jetzt um. Gruß Jan
> Ich habe vorher mit Atmel AVR gearbeitet und steige jetzt um.
Uhh, darf man hie eigentlich nicht sagen... ;)
Aber wie Thorsen schon meinte: WatchDog ON? Und wie sieht der Rest
deines Programms aus?
Hallo, ich bin so langsam am Verzweifeln. Ich habe folgenden Code geschrieben: LIST P=18F4550 ;directive to define processor #include <P18F4550.INC> ;processor specific variable CONFIG PLLDIV = 1 CONFIG CPUDIV = OSC1_PLL2 CONFIG USBDIV = 1 CONFIG FOSC = HS CONFIG FCMEM = OFF CONFIG IESO = OFF CONFIG PWRT = ON CONFIG BOR = OFF CONFIG BORV = 3 CONFIG VREGEN = ON CONFIG WDT = OFF CONFIG WDTPS = 1 CONFIG MCLRE = ON CONFIG LPT1OSC = OFF CONFIG PBADEN = OFF CONFIG CCP2MX = OFF CONFIG STVREN = OFF CONFIG LVP = OFF CONFIG XINST = OFF CONFIG DEBUG = ON ORG 0x0000 goto Main ;go to start of main code Main: movlw B'00000000' movwf TRISD ;RD-PORT als Ausgang movlw B'11111111' movwf LATD ;Alle RD auf High loop: goto loop END Nun ist es so, dass ich einen 18LF2550 einsetze (also für niedriege Spannungen, Quarz ist ein 4MHz HC49U-S mit 20pF) Am CLKO Messe ich mit dem Oszi eine wunderschöne Sinusspannung mit 4MHz. Microchip empfiehlt aber allerdings 27pF Kondensatoren für 4MHz Quarz-Oszillatoren. Aber er müsste ja laufen, wenn ich die 4MHz Sinusspannung mit dem Oszi am Quarz-Ausgang (CLK0) Messe. Nun ist folgendes Phänomen: Mit 5V funktioniert alles einwandfrei. Betreibe ich jedoch den PIC mit 4V, dann sind die RD für ca. 4Sekunden High und gehen dann auf Low. Hab mir schon gedacht, dass das mit dem Brown-Out zusammenhängt, aber das hab ich ausgeschalten. (Die Konfiguration habe ich über den Assembler-Text reingeschrieben) Habe schon mit dem Watch-Dog, Brownout rumgespielt, aber ich weiß nicht, warum es bei 4V nicht funktioniert. Es ist ja ein LF-Typ, der bis runter zu 2V betrieben kann. Für Hilfen wäre ich sehr dankbar. Gruß Jan
#include <P18F4550.INC> ;processor specific variable Passt das zu deinem 18LF2550?
Hallo, ich habs jetzt mit einen 18LF4550 probiert. Das gleiche. Aber ich hab jetzt die Lösung. Hab den Pull-up am MCLR vergessen. Bitte vielmals um Entschuldigung, dass ich hier wegen so einem dummen Fehler gefragt habe. Aber wenigstens kenne ich jetzt schon mal alle Config-Einstellungen des PICs ;-) Trotzdem danke. Gruß Jan
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.