Forum: Mikrocontroller und Digitale Elektronik Watchdog Timer


von Lens (Gast)


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?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Lens schrieb:
> SWDT = 1;   // Start Watchdog-Timer

Probier es doch mal mit
1
IEN1 |= (1<<SWDT);

Gruß,
Magnetus

von Spess53 (Gast)


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

von Lens (Gast)


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.

von Lens (Gast)


Lesenswert?

Kann mir jemand weiterhelfen? Ich versteh nicht, wieso der 
Watchdog-Timer nicht läuft.

von Lens (Gast)


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?

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Lens schrieb:
> Die Ausgaben werden gemacht und dann durch den Watchdog-Timer
> unterbrochen. Doch danach gibt es keine Ausgaben mehr im Terminal. Woran
> liegt das?

Vermutlich an dem Rest deines Codes (welchen du allerdings nicht gezeigt 
hast).

Also:  Zeile 42.

von Magnus M. (magnetus) Benutzerseite


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.

von Martin K. (maart)


Lesenswert?

Da müsste man natürlich wissen, mit welcher Frequenz der Köter kläfft.

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
Noch kein Account? Hier anmelden.