mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430F155 & Watchdog


Autor: Lars D. (eitum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus Sicherungsgründen soll ich bei meinem Sensor den Watchdog 
aktivieren.
Klingt einfach. hat aber eingie Tücken die ich nicht ganz verstehe.

Beim Init wird er erstmal ausgeschalten. Das Programm soll ja erstma in 
Ruhe starten.

Dann kommt:
  WDTCTL   =   WDT_ARST_1000;

  while(1)
  {

    WDTCTL   =   WDTPW + WDTCNTCL;
    sTemperatur.Temp_Diff_limit  =  fnReadFlash(TEMP_DIFF_LIMIT);
    sTemperatur.Temp_Warn    =  fnReadFlash(TEMP_WARN);
    sTemperatur.InnenMax    =  fnReadFlash(MAXTEMPINNEN);
    sTemperatur.AussenMax    =  fnReadFlash(MAXTEMPAUSSEN);

    sTemperatur.Innen_alt    =  sTemperatur.Innen;
    sTemperatur.Aussen_alt    =  sTemperatur.Aussen;
    WDTCTL   =   WDTPW + WDTCNTCL;
    sTemperatur.Innen       =  fnGetTemperatur(INNEN);
    sTemperatur.Aussen       =  fnGetTemperatur(AUSSEN);

ohne die 3. letzte Zeile kann ihc mittels Breakpoints feststellen, dass 
er die vorletzte Zeile erreicht, die letzte aber nicht.
Komischer Weise ist es das selbe Spiel mit der 3. letzten Zeile.  Müßte 
dieser Befehl den Watchdog Counter nicht reseten?
Die Abarbeitung der kompletten While Schleife dauert nichtmal eine 
Sekunde. Bei Der Watchdoginit müßte ich meines Erachtens nicht mal 
zwischendrin reseten.

Wo is mein Gedankenfehler?

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein ACLK ist tatsächlich 32kHz?

Autor: Lars D. (eitum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ist ein Uhrenquarz mit 32,768kHz

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Zeiten (Programm und Watchdog) mal EXAKT gemessen? Nicht das 
der Watchdog doch eher zuschlägt als dein Programm fertig ist.
Ohne Watchdog geht alles problemlos?

Autor: Lars D. (eitum)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ohne Watchdog geht alles.
Hab die Lösung gefunden.  beim Oversampling des ADCs und beim Berechnen 
der Quadratwurzel nutz ich for Schleifen. in diese Schleifen hab ich das 
Reset des WDT mal hinzugefügt und es läuft.

Wie kann man auf 1µs genau messen?

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.