PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SRF10: Register 0 auslesen, um fertige Messung abzuwarten



bernhard1366
18.09.2007, 20:39
Hallo Leute,

ich hab mir den SRF10 zum experimentieren besorgt und der lässt sich auch so ansteuern und abfragen, wie beschrieben.
Ich möchte zur Kontrolle der abgeschlossenen Messung das Register 0 auslesen, in dem auch gleichzeitig die Version enthalten ist.
Wenn ich die Version auslese, wird der Wert 0x05 angezeigt, was ja wahrscheinlich die Versionsnummer ist, aber wenn ich jetzt eine aktive Messung, die mir den Wert 255 liefern müsste, abfragen will, dann bekomme ich niemals diesen Wert. Momentan helfe ich mir mit einer Pause, was aber meiner Meinung nicht sehr schöner Stil ist.

Kennt das Problem jemand?

Mfg.
Bernhard ]

bernhard1366
21.09.2007, 17:31
Hallo

ich bins noch mal. Hat sich erledigt

Danke!!

Manf
21.09.2007, 17:46
Ich habe den SRF10 nicht und konnte zur Frage nichts sagen, aber jetzt bin ich doch neugierig woran es lag.
Mußte noch ein Zusatnd gesetzt werden?
Manfred

bernhard1366
23.09.2007, 12:28
Hallo Manfred

da das mein erster Ultraschallsensor dieser Art ist, den ich ansteuere, habe ich einen dummen Anfängerfehler gemacht.
Ich habe in meinem Programm den groben Fehler gemacht, dass ich zuerst die Messung durchgeführt habe und dann das Register 0 abgefragt habe, um den Messzustand auszulesen (Versionsnummer oder 255 für aktive Messung).
Ich habe also keine Wartezeit implementiert und dadurch wurde bei jedem Schleifendurchgang eine neue Messung durchgeführt ohne den Abschluss der vorherigen abzuwarten.
Jetzt sethe ich ein Flag, dass mir die neue Messung erst wieder zulässt, wenn die Auswertung durchgeführt wurde und dadurch ja auch das Register 0 eine neue Messung zulässt.
Wie mans auch dreht und wendet, es war mein Fehler :oops:

Manf
23.09.2007, 14:52
Wichtig ist ja auch erst mal, dass die Funktion nach Datenblatt geht.
Dann ist es natürlich auch sehr gut wenn man wieder einmal gesagt bekommt, was man alles falsch machen kann und für den nächsten ist es bestimmt ein guter Hinweis, denn so außergewöhnlich ist der Fehler wohl nicht, danke für die Erklärung.
Manfred