www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Watchdog nach reset aktiv?


Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich möchte meinen nC über UART vom PC aus resetten können.
Dazu frage ich jeweils das erste Byte der Übertragung ab, wo ich den 
jeweiligen "Typ" der folgenden Daten festlege.
Hat dieses Byte jetzt einen bestimmten Wert, dann müßte ich ja 
eigentlich nur mit:

Switch(data_received[1])
   case 0xff : reset()

int reset(void)
   watchdog_enable() //Nur als Beispiel

den Selbigen initialisieren und ihn einfach rennen lassen bis er mir den 
nC resettet.
Ist er nach dem reset dann wieder disabled? Oder muß ich ihn beim 
initialisieren meiner Firmware explizit killen?
grüße
Phil

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Phillip Hommel (Firma hs-bremen) (philharmony)

>Ist er nach dem reset dann wieder disabled? Oder muß ich ihn beim
>initialisieren meiner Firmware explizit killen?

Wenn du einen MSP430 hast, ist der Watchdog nach dem Reset AKTIV!

MFG
Falk

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, hätt ich vielleciht dazu sagen sollen:
Atmega 8535

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem müsste der Watchdog aus sein. Bei neueren AVRs (z.B. mega48 und 
Co) bleibt er dagegen an, und (ganz gemein) zuätzlich wird auch noch die 
Timeoutzeit auf den kleinsten Wert gesetzt.

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, ok dann deaktiviere ich den mal besser im init...
Danke

Autor: Ronny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ja auch durchaus sinnvoll,wenn der Watchdog an ist soll im 
allgemeinen ein 'Hängenbleiben' der Software abgefangen werden.Und in 
99.999999% der Fälle wird die Ursache des Hängenbleibens ja durch einen 
Reset nicht beseitigt.

Autor: H.joachim Seifert (crazy_horse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, 0xff als reset-Befehl ist  nicht besonders clever. Ein Störimpuls, 
der als Startbit erkannt wird, löst dann einen reset aus...
noch gar nicht lange her, da hatte ich ein kniffliges Projekt, wo es 
erstmal hauptsächlich um den eigentlichen Algorithmus ging. Die ganze 
Kommunikation war (noch) auf ein Minimum beschränkt (u.a. Verlassen des 
eigentlichen Programms per ASCII "Q".). Das kam über die (offene) 
Schnittstelle so alle 2 Tage vor...
Ich wusste das zwar und habe es auch den Leuten mitgeteilt, die waren 
trotzdem recht beunruhigt, dass die Kiste immer "abstürzte".

Autor: Phillip Hommel (philharmony)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hab das jetzt mal so 3 Stunden am HTerm hängen gehabt und es 
kam kein unerwünscher Reset vor.
Werde mal noch ein bisschen am Code rumoptimieren...

Mal noch was anderes:
Wie kann ich die größe eines Array zur Laufzeit ändern?
Je nachdem, wieviele Extension-Boards a 128Bit Schieberegister 
hintereinanderhängen, soll natürlich das Char-Array (char damit ich 
schön einfach 8-Bit weise über RS232 verschicken kann) die entsprechende 
Größe haben.
Ich dachte da an sowas wie eine INIT-routine, daß der nC beim Start 
erstmal ein "fordere initial-werte an" an den PC schickt und wartet bis 
er zwei Byte empfangen hat welche dann die Größe der Eingangs-, sowie 
Ausgangsextensions darstellen.
Entsprechend dieser Werte sollen dann die beiden Arrays (Ausgangs-, 
Eingangsdaten) in ihrer Größe initialisiert werden...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.