Hallo zusammen. Folgendes Problem: Über ein Eingangssignal lass ich einen Ausgangsport hochzählen, welcher meinen Decoder ansteuert. Wenn es die 9 anzeigt und noch ein Eingangssignal kommt, soll er wieder bei 0 anfangen. Das funktioniert alles. Aber ich muss noch ein Reset einbauen. Egal bei welcher Zahl er ist, soll über einen anderen Eingang wieder die 0 angesteuert werden(danach einfach wieder weiter zählen). Wenn ich nun am Ausgang sage: PORTA|= 0x00; löscht der µC zwar die Ausgänge, jedoch behält der decoder noch seinen Wert. Wenn ich jetzt bei einer beliebigen Zahl mein Reset betätige, bleibt die Zahl und danach erst fängt er wieder bei 1 an. ich hoffe ihr wisst wie ich es meine. bitte um Hilfe. danke PS: Pull Down Widerstände habe ich auch zwischen µC und decoder
c_progger schrieb: > löscht der µC zwar die > Ausgänge, jedoch behält der decoder noch seinen Wert. Wenn LE tatsächlich, wie gezeichnet auf 0 liegt, dann behält der Decoder keinen Wert. Das Problem muß im Controller/Software liegen. Ich übergebe an einen geneigten C Experten...
hardwareheini schrieb: > Wenn LE tatsächlich, wie gezeichnet auf 0 liegt, dann behält der Decoder > keinen Wert. leider doch.
Wie schon befürchtet liegt es am Programm. Wenn der Reset betätigt wird werden die internen Zähler i und k zurückgesetzt, jedoch nicht auf den Port geschrieben. Vorschlag: if (PINB & (1<<PB2)){ i=0; k=0; PORTA = i; PORTC = k; } Gruß JensM
c_progger schrieb: > Wenn ich nun am Ausgang sage: PORTA|= 0x00; löscht der µC zwar die > Ausgänge, Das tut er sicher nicht. PORTA verändert sich nicht, wenn der darin stehende Wert mit 0 verODERt wird.
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.