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...
Wie sieht eine Pause aus ? Dauer ? Wie sehen vier Pausen aus ? Dauer ? Wie sieht ein '*'-Signal aus ? Und wie unterscheider man Signale '**' ?
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.