MSP430G2553: Watchdog auch während LPM3?

Gast #6495724
Lesenswert?
• ▲
▼
Hallo Gemeinde,

kurze Frage:
Ich verwende derzeit einen MSP430 i2c-Treiber der momentan endlos auf 
entsprechende Status-Bits des I2C-Bausteins polled:
z.B.:

/* Wait for the start condition to be sent and ready to transmit 
interrupt */
while ((UCB0CTL1 & UCTXSTT) && ((IFG2 & UCB0TXIFG) == 0));

/* Wait for the data */
while ( (IFG2 & UCB0RXIFG) == 0 );

Mit dieser Lösung bin ich leider nicht ganz zufrieden.
Wenn nur ein Gerät am i2c-Bus sich aus welchen Gründen auch immer 
"verabschiedet" steht die SW halt für immer in einer der 
endlos-while()-Schleifen.

Zudem verbraucht der MSP430 in der Schleife so um die 300uA.
Ich würde die CPU daher gerne schlafen legen (LPM3) und von dem 
entsprechenden I2C-Interrupt wieder aufwecken.

Allerdings:
Was ist wenn der Interrupt niemals kommt, da ein angeschlossenes 
i2c-Gerät sich nicht meldet oder spinnt?

Ich würde daher gerne den Watchdog parallel mitlaufen lassen, sodass ich 
aus diesem Endlos-Wartezustand wieder rauskomme...
Den Watchdog würde ich vom ACLK speisen und auf 1000ms setzen.
Nach einer 1 Sekunde würde die SW dann komplett neustarten, den I2c 
baustein wieder neu-initialisieren und versuchen das i2c-Gerät wieder 
anzusprechen.

Die Frage ist, kann man das realisieren? Schlägt Watchdog auch zu, wenn 
man in LPM3 ist?
Wie würdet ihr einen Timeout realisieren OHNE polling?

Herzlichen Dank!!!

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.