Port Init bei Reset

Gast #870550
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
Gast
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.