mikrocontroller.net

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


Autor: Tony (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Zwölf Mal Acht (hacky)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.