- LiFePO4 Speicher Test         
Ergebnis 1 bis 2 von 2

Thema: POR = 0 trotz MCLR-Reset

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.09.2006
    Ort
    Erlangen
    Alter
    90
    Beiträge
    163

    POR = 0 trotz MCLR-Reset

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich habe an einen PIC zwei LEDs angeschlossen und einen Taster, der einen Reset auslöst(MCLR zu Schalter zu Masse und MCLR zu R zu Vdd). Zusätzlich Spannungsquelle und Schwinger.

    Jetzt ist es so, daß im Datenblatt für den 16F628A auf Seite 99 eine Tabelle steht, in der aufgeführt ist, welche Resets es gibt und wie man sie abfragt.

    POR = PCON.1
    BOR = PCON.0
    TO = STATUS.4
    PD = STATUS.3

    Code:
    TABLE 14-4: STATUS/PCON BITS AND THEIR SIGNIFICANCE
    POR	BOR	TO	PD	Condition
    0		X	1	1 	Power-on Reset
    0		X	0	X 	Illegal, TO is set on POR
    0		X	X	0 	Illegal, PD is set on POR
    1		0	X	X 	Brown-out Reset
    1		1	0	u 	WDT Reset
    1		1	0	0 	WDT Wake-up
    1		1	u	u 	MCLR Reset during normal operation
    1		1	1	0 	MCLR Reset during Sleep
    Legend:  u = unchanged, x = unknown
    Ich habe mir also eine BasicRoutine geschrieben, die genau das tut. Leider ist das Ergebnis, das mir durch LEDs angezeigt wird, immer so, als ob ich nie einen Reset auslösen würde, sondern immer die Spannung ein-, aus-, und wieder einschalten würde. Aber genau das ist der Fall, ich drücke den Taster und der PIC wird neugestartet, zeigt aber eben durch die LEDs an, daß er ein-, aus-, und wieder eingeschaltet worden wäre.

    POR im PCON Register bleibt also zumindest immer 0.

    Woran kann es liegen - muß ich anders abfragen, andere CONFIG-Bits setzen oder anders beschalten.

    Code:
    IF PCON.1 = 1 AND PCON.0 = 1 THEN
        IF STATUS.4 = 1 AND STATUS.3 = 0 THEN
            GOTO ResetNachSleep
        ELSE
            GOTO ResetNormal
        ENDIF
    ENDIF
    
    IF PCON.1 = 1 AND PCON.0 = 0 THEN
        GOTO BrownOut
    ENDIF
    
    IF PCON.1 = 0 AND STATUS.4 = 1 AND STATUS.3 = 1 THEN
        GOTO NormalStart
    ENDIF
    Ich frage die, die bei Fragen nach dem Wie mit Warum antworten folgendes: Fragt euch euer Bäcker, warum ihr zwei Brötchen haben wollt ?

    Bild hier  

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.09.2006
    Ort
    Erlangen
    Alter
    90
    Beiträge
    163
    Ich frage anders: Wie finde ich beim PIC heraus, ob ein Reset durch MCLR oder durch ein-, und ausschalten erfolgt ist ?
    Ich frage die, die bei Fragen nach dem Wie mit Warum antworten folgendes: Fragt euch euer Bäcker, warum ihr zwei Brötchen haben wollt ?

    Bild hier  

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test