Forum: Mikrocontroller und Digitale Elektronik MSP430 F449 Reaktionstester


von Student T. (Firma: HS) (haikel)


Lesenswert?

hallo

Ich bin Anfänger in dem bereich Micro-Controller.
Ich versuche einen reaktionstester mit dem MSP430 F449 zu 
programmieren,alle notwendigen Schritte sind mir klar und sie sind  wie 
folgendes kurzgefasst beschrieben:

1) LED teilt den Anwender dass das gerät für Test zu verfügung steht
2) Anwender betätigt eine Taster ====> LED geht aus
3) LED wird dann automatisch ( ohne betätigung einr Taste) in 
unterschiedlichen Zeitabstände eingeschaltet .
4)Sobald LED an ist, soll gemessen werden, wie lange ( Zeit) braucht der 
Anwender zu reagieren ( Taster betätigen ====> dadurch geht die LED 
wieder aus).
5)........ verschiedene Funktionen werden von LCD ausgegeben : Zahl der 
Test, Note ........


Was ich nicht mit der Assembler-Sprache machen kann ist der Schritt 3) .
Wie kann ich den timer dazu bringeen dass er in unterschiedlichen 
zufälligen Zeitabständen reagiert ?

Mit der Programmiersprache C, man könnte vielleicht " Random " benutzen.

Vielen dank im vorraus.

von Walter (Gast)


Lesenswert?

eine PseudoRandom Funktion kannst du auch in assembler programmieren, 
die funktion ist nicht schwierig, einfach googlen ...

von Student T. (Firma: HS) (haikel)


Lesenswert?

Der Msp 430 geht nur mit 25 Assembler Befehler.
Und so ein Befehl gibt es nicht.

von Stefan (Gast)


Lesenswert?

Ja, wenn es für alle möglichen Probleme auf der Welt doch bereits 
implementierte Assemblerbefehle gäbe...
Du musst Dir die Zufallsfunktion natürlich aus den vorhandenen 25 
Befehlen selbst programmieren !!!

von Student T. (Firma: HS) (haikel)


Lesenswert?

Danke das versuch ich :)

von Christian R. (supachris)


Lesenswert?

Kannst ja den DCO-Takt als Quelle für die Zufallszahlen nehmen, der geht 
so ungenau, das ist dann schon fast wirklicher Zufall. ;)

von Stefan (Gast)


Lesenswert?

Was bitte ist am DCO-Takt ungenau, zumindest als Quelle für 
Zufallszahlen?
Bei annähernd konstanter Temperatur und konstanter Versorgungsspannung 
ist die DCO-Drift sehr gering (typ -0,4%/°C und +/-5%/V)

von Christian R. (supachris)


Lesenswert?

Bei konstanten Bedingungen ja. Aber selbst bei "Zimmertemperatur" muss 
man den DCO dauernd neu abgleichen, wenn man den UART drüber laufen hat. 
Der läuft halt gerne weg.

Aber das ist ja Off-Topic. Man könnte zur "Zufalls-Taktung" schon 
verschiedene Taktquellen nehmen, vielleicht sogar noch bissl mit den 
DCO-Einstellungen spielen. Nach jedem Durchlauf einen neuen DCO-Takt 
erzeugen, und das Programm selber mit einem Quarztakt laufen lassen. 
Dann siehts für den Anwender schon recht zufällig aus.
Der Fantasie sind bei solchen Spielchen ja keine Grenzen gesetzt, zumal 
er ja eh ein zufälliges Zeitintervall haben will.

von Kai G. (runtimeterror)


Lesenswert?

Einfach irgendeinen Timer/Zähler 1:1 mit dem Takt des MSP430 laufen 
lassen und dessen Wert beim loslassen der (entprellten) Taste als 
Zufallswert nehmen - sollte nicht so schwer sein...

Steht aber mal wieder im Wiki: Zufallszahlen

(Wenn der MSP430 das nicht kann nehme ich alles zurück ;) )

von Student T. (Firma: HS) (haikel)


Lesenswert?

Danke Kai :)

von Student T. (Firma: HS) (haikel)


Lesenswert?

das hab ich mir auch seit paar Tagen gedacht, es dürfte keinen problem 
geben, werde es bald emulieren , mal schauen was es sich ergibt.

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.