Watchdog Timer

Gast #3107218
Lesenswert?

Hi Leute,

Ich hab den C515C-L (Phytec miniModul-515CL) und folgendes Anliegen, 
worum ich um Unterstützung bitte:
- Der Watchdogtimer ist standardweise deaktiviert
In meiner Software versuch ich den Watchdog-Timer zu aktivieren:
1
printf("Anfang - Software\n");
2
SWDT = 1;   // Start Watchdog-Timer

Doch der String "Anfang-Software" wird am Terminal nur ein Mal 
ausgegeben. Doch wenn der Watchdog-Timer an ist, so müsste es ständig 
diesen String ausgeben.

Kann mir einer bitte weiterhelfen?
Gast #3107294
Lesenswert?

Hi

>- Der Watchdogtimer ist standardweise deaktiviert
>In meiner Software versuch ich den Watchdog-Timer zu aktivieren:

Wozu? Ist deine Hardware so marode, das du einen Watchdog brauchst?

MfG Spess
Gast #3107340
Lesenswert?

Hi,

1. An Magnus: Danke für den Vorschlag, nur bringt das nichts, da erstens 
der Compiler das nicht akzeptiert und zweitens es dasselbe ist, wie wenn 
ich SWDT=1 mache (Keil mvision)
2. Versteh ich nicht, wieso der Watchdog nicht läuft. Im Hardware manual 
des "phytec miniModul515c" steht, es sei standardweise durch einen fest 
verlöteten Jumper J9 deaktiviert. Doch im Manual des Mikrokontrollers 
steht, man könne es per SWDT=1 aktivieren.

Kann mir einer bitte helfen, weiß nicht weiter.
Gast #3107483
Lesenswert?

Also wenn ich im Terminal mir die Ausgabe ansehe, so stell ich fest:
Die Ausgaben werden gemacht und dann durch den Watchdog-Timer 
unterbrochen. Doch danach gibt es keine Ausgaben mehr im Terminal. Woran 
liegt das?
Persönliche Seite #3111073
Lesenswert?

Ergänzung:

Nach dem Start (Einschalten) deines Boards ist der WDT noch inaktiv und 
der µC kann den Code noch bis zu deinen beiden Codezeilen arbeiten. Du 
platzierst einen Ausgabestring in den UART-FIFO und der Controller 
beginnt mit der Übertragung des ersten Zeichens. Du aktivierst den 
Watchdog. Das zweite Zeichen wird übertragen... das dritte... das 
vierte... das Xte.... Der WDT schlägt zu und das Programm beginnt von 
Vorne. Nun läuft der WDT aber bereits zu Beginn des Programms und 
schlägt wieder zu BEVOR dein
1
printf("Anfang - Software\n");

erreicht wird. Es wird also keine Ausgabe mehr statt finden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren