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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.