Forum: Mikrocontroller und Digitale Elektronik ICP für Pulslängenerfassung


von Tony (Gast)


Lesenswert?

Guten Tag zusammen,
Ich möchte den Geber eines Echolots auslesen.
Habe dazu folgendes Signal gemessen:
http://www.rov-forum.de/images/89eed89cba.jpg
Die erste positive Flanke ist die Initialisierung und dauert genau 6ms, 
anschließend wird 60 ms auf Echos gewartet.
Hier mal ein Bild mit Echos:
http://www.rov-forum.de/images/2011c42e27.jpg
Die am Ende vollenden Signale interessieren mich nicht (sind glaube ich 
zum übermitteln der Temperatur da).

So nun zu meinem Problem,
ich möchte ein Programm schreiben das zunächst einmal die positive 
Flanke erkennt die genau 6ms und anschließend 60 ms lang jedes Mal die 
aktuelle Zeit speichert in dem ein Signal kommt.
Dachte mir ich schreibe bei jeder Flanke die momentane Zeit in einen 
String denn ich mit ":" getrennt weiterführe.
zb Signale &= Echo & ":"
Bekomme ich zb nach 10ms, 40ms, und 55ms ein Signal : "10:40:55:"

Umsetzen möchte ich das ganze in Basic, nur leider hab ich keinen Ahnung 
wie genau ich mit steigender Flanke an ICP1 einen Timer Starte und ihn 
mit der fallenden wieder stoppe.
Wäre schön wenn mir da jemand weiterhelfen könnte.

Gruß Tony

von Ulrich (Gast)


Lesenswert?

Die ICP Funktion (heißt so bei den Atmel AVRs) kann den Timer weder 
starte, noch stoppen.  Der Timer läuft die ganze Zeit durch, und bei der 
passenden Flanke wird die gerade aktuelle Zeit gemerkt in den ICP 
Registern.
Die Pulslängen usw. ergeben sich dann aus der Differenz der Zeiten von 2 
ICP ereignissen. Die Zeiten sollte man erst mal als normale Integers 
speicher und erst vor dem Senden in einen Text umwandeln. Dabei braucht 
man die Teile auch gar nicht zusammenhängen, sondern sendet einfach 
nacheinander die Teile.

von Purzel H. (hacky)


Lesenswert?

Weshlab als String senden wenn manauch als binaer senden kann. Der 
empfangende PC hat genuegend Dampf die daten passend umzurechnen

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.