mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Impulse zählse


Autor: Gerald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte mir ein Programm entwickeln was mir einen Fehlerspeicher
ausliest!

Die Speicherausgabe erfolgt über ein Leitung, die mir Impulse sendet.

Die Ausgabe sieht etwa so aus

* = Signal
- = Pause

**-*****-****-**********

Dieses Beispiel zeigt den Code 2540. Die Pause signalisirt jeweils die
nächste Zahl und nach vier Zahlen jeweils den Nächsten Code.

Nun stellt sich mir die frage wie ich das ganze umsetzen könnte nutzen
möchte ich einen AVRmega XX und die sprache wird wohl C.

Mit dem Zählen habe ich kein Problem aber wie kann ich es dem Proggi
bei bringen das nach der Pause eine neue Zahl beginnt und nach vier
Pausen gar ein Neuer Code?

Für Ideen oder Codeschnipsel wäre ich sehr dankbar,,,bin leider noch
anfänger...

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht eine Pause aus ? Dauer ?
Wie sehen vier Pausen aus ? Dauer ?
Wie sieht ein '*'-Signal aus ?
Und wie unterscheider man Signale '**' ?

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal eine DCF77 Funkuhr gebaut, da habe ich den Timer dazu
benutzt, um die pausen und die längen im signal festzustellen. Ist
absolut kein Hexenwerk habe das damals sogar alles in ASM getippt.

Ist nur die frage, wie Lange sind deine Impulse denn überhaupt?

sind die Impulse zwischen den zahlen kürzer wie nach den 4 stellen?
etwas mehr input wäre hier nicht schlecht...

Gruß
Tubie

Autor: Gerald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke für eure schnelle Antworten.

Wenn die Leitung mit einem Signal belegt ist liefert sie 5V ansonsten
GND.

Das Signal liegt ca 1 Sekunde an. Eine Pause ist ca 3 Sekunden lang.

Signal * bedeutet 1 Sekunde 5V
Signal ** bedeutet 1 Sekunde 5V, 1 Sekunde GND, 1 Sekunde 5V

Mfg Gerald

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo ist dann dabei das problem? du programmierst einen Timer auf etwas
über einer sekunde, fragst danach das signal am pin ab und startest den
timer erneut nach einem pegel wechsel. wenn der pegel wechselt einen
zähler incrementieren. wenn vor dem neustert 3 sec vorbeigegangen sind,
fängt ein neues zeichen an also zahl retten, zähler auf 0.

Würde dazu einen zweiten zähler machen, der bei jedem timer overflow um
1 incrementiert wird. wenn der >1 ist, ist mehr als eine sekunde
vergangen und das neue zeichen beginnt.

so in etwa könnte man das machen. ist nur ein grober entwurf aber
sollte funzen.

viele Grüße
Tubie

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.