Forum: Mikrocontroller und Digitale Elektronik Impulse zählse


von Gerald (Gast)


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...

von Michael (Gast)


Lesenswert?

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

von Tubie (Gast)


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

von Gerald (Gast)


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

von Tubie (Gast)


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

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.