Hallo, ich nutze einen MSP430 und wuerde gerne wissen wie ich es anstellen kann das der MSP nach dem Einschalten der Spannung wartet bis die Schaltung die um ihn gebaut ist bereit ist und dann erst anfaengt das Programm abzuarbeiten (benoetige ca 500ms - 1s)? Vielen Dank im Vorraus!!!
Du könntest das Programm die angegebene Zeit warten lassen, bevor es anfängt, mit der Schaltung drumherum zu interagieren. Du könntest Deine Schaltung so designen, daß sie ein Signal zur Verfügung stellt, mit dem der µC feststellen kann, daß sie "bereit" ist. Was macht die, daß sie so ewig lange dafür braucht?
Hi Rufus, erstmal vielen Dank fuer die schnelle Antwort!!! Hab gehoert das es bei z.B. PIC Microcontrollern eine fertige Funktion (den power up timer) gibt, der den MSP warten lasst bis die Schaltung fertig ist. Die Schaltung benoetigt einige Zeit, da ich einen Haufen Sensoren verwende und sich einige Signale erst "einpendeln" muessen. Ich werde deinen ersten Vorschlag realisieren und den MSP erst einmal fuer ~1s schlafen legen.
Marvin schrieb: > Die Schaltung benoetigt einige Zeit, da ich einen Haufen Sensoren > verwende und sich einige Signale erst "einpendeln" muessen. > > Ich werde deinen ersten Vorschlag realisieren und den MSP erst einmal > fuer ~1s schlafen legen. Man sollte nicht pauschal mit dem Holzhammer auf alles eindreschen. Du solltest schon wissen, welche Schaltungsteile lange benötigen und welche nicht. Und dann die Initialisierung darauf abstimmen. Z.B. ist es oft sinnvoll, alle Portpins sofort zu initialisieren und nicht lange in der Gegend rumfloaten zu lassen. Wenn ein LCD angeschlossen ist, kannst Du es auch sofort initialisiern und ne Startmeldung anzeigen. Und Tasten kann man auch sofort benutzen und Eingaben bearbeiten. Peter
Peter Dannegger schrieb: > Du solltest schon wissen, welche Schaltungsteile lange benötigen und > welche nicht. Und dann die Initialisierung darauf abstimmen. Ich weisz natuerlich welche Sensoren besonders lang Zeit zur Initialisierung benoetigen, aber ich habe keinen Vorteil dadurch das ich einige Teile der Schaltung vorher einschalte. Obwohl: Das LCD eine Startmeldung anzeigen zu lassen is eine sehr schoene Idee! Danke!
Du könntest auch einen Supply-Voltage-Supvervisor IC nehmen, wie den TL7705 von Texas Instruments, der kann mit einem Kondensator auf eine Verzögerungszeit beim Einschalten eingestellt werden. Nach ablauf dieser Zeit gibt er dann ein Signal aus, das könntest du auf den Reset von deinem uC legen. Außerdem überwacht er auch während des Betriebs die Spannung und wenn diese unter einen gewissen Wert fällt führt er einen Reset aus und wartet wieder die eingestellte Zeit bis er aktiv wird. Also natürlich nur falls du vor hast noch einen IC zu verwenden. Hat halt den Vorteil, dass wirklich erst alles läuft wenn die Betriebsspannung sauber anliegt. Gruß Phil
Ach hier noch das Datenblatt falls es dich interessiert, da kannst dann mal selbst die Beschreibung nachlesen ;-) http://focus.ti.com/lit/ds/symlink/tl7705a.pdf
Phil schrieb: > Du könntest auch einen Supply-Voltage-Supvervisor IC nehmen, wie den > TL7705 von Texas Instruments, der kann mit einem Kondensator auf eine > Verzögerungszeit beim Einschalten eingestellt werden. Schoenens IC!:-) Ich glaube ich brauchte aber bei ~1s Verzoegerungszeit einen recht dicken Kondensator, oder hab ich das Datenblatt falsch verstanden!?! Trotzdem vielen Dank!!!
Hm, das is natürlich richtig. Nach der Formel im Datenblatt müsstest du 77uF anschließen, da könntest du nen 100uF Elko nehmen. Also solange die Sekunde nicht genau sein muss ;-). Wenn nicht, kannst den IC ja mal im Hinterkopf behalten für ein anderes Projekt ;-). Gruß Phil
Wieso macht ihr das alles so kompliziert, die Lösung lautet doch einfach nur:
1 | delay_ms(500); |
Jörg S. schrieb: > Wieso macht ihr das alles so kompliziert, die Lösung lautet doch einfach > nur: >
1 | delay_ms(500); |
Nicht genutzten Flash kann man ja zurückgeben. Extra ICs und Kondis kriegt man aber umsonst, brauchen keinen Platz und löten sich auch von selber ein. Peter
Phil schrieb: > Hinterkopf behalten für ein anderes Projekt ;-) Das sehe ich genauso --> Vielen Dank! Jörg S. schrieb: > Wieso macht ihr das alles so kompliziert, die Lösung lautet doch einfach > nur:delay_ms(500); Hab ich auch erst dran gedacht, aber mich dann fuer eine meiner Meinug nach schoenere Loesung entschieden. Ich lasse eine Startmeldung anzeigen und schicke den MSP dann eine kurze zeit schlafen. Dann gehts los :-) Vielen Dank nochmal an alle fuer eure Hilfe!!!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.