Hi Leute, muss bei meinem Pic 18F458 ein Verhalten feststellen das ich mir nicht ganz erklären kann: Bei instabiler Spannungsversorgung kann es vorkommen, dass ein Peripheriegerät am PORTD angesteuert wird, obwohl dies nicht gewünscht (Pin an PORTB nicht auf Masse gezogen) ist. Beispielhaft wird folgender Code verwendet: // PORTB Interrupt LATD an Pin X auf 1 setzen // UserFct - wird bei jedem Start des Pics aufgerufen vInitABCD() { LATD = 0; TRISD = 0; PORTD = 0; } /////////////////////////////////////////////////////////// // Tatsächliches Programm main() { // Register in sicheren Zustand bringen // Wird bei jedem Neustart und bei jedem Reset ausgeführt vInitABCD() // Config Register richtig setzen (TRISD = 0x00, TRISB = 0xFF, ....) while(1) { // Berechnungen, Ausgaben, ...... } } Die Peripherie wird angesteuert, wenn der Pin an PORTD auf TRUE geht. Kann es jetzt vorkommen, dass PORTD kurzzeitig auf TRUE geht sobald die Spannung einbricht oder Überschwinger aufweist?? Werden die Register falsch initialisiert (falsche Stelle -> main wird doch auch nach jedem Reset ausgeführt oder...., falsche Reihenfolge (muss erst TRISB, dann LAT oder erst LAT dann TRISB...) Ich hoffe das reicht als Input um mir bei meinem Problem weiterzuhelfen. Vielen vielen Dank im Voraus. Gruß Steff
Wenn die versorgerspannung nicht ausreichent ist für den PIC dann kann ich mir durchaus vorstellen das er irgendwelches wirres zeug macht. Kanst die Spannugn ja vieleicht mit einem Kondensator stabilisieren.
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.