Forum: Mikrocontroller und Digitale Elektronik atmega16 reagiert nicht auf Tastendruck


von Michael Gnotrer (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe mich mal ein mein erstes richtiges kleines µC-Programm
gewagt.
Soweit funktioniert alles, aber es erfolgt keine Reaktion auf Eingaben
(4 Taster). Entprellung ist eine andere sache, mir gehts dadrum dass er
überhaupt mal reagiert.

Im Anhang die relevanten Teile.
Die Pullups habe ich auch schonmal abgeschaltet.

Die Taster sollen Active High sein.
Habe sie so verschaltet: VCC---Taster---µC.
von µC nach GND habe ich auch schon 10k Widerstände ausprobiert.

Der µC reagiert einfach nicht.
Die for-Schleife mit dem Switch läuft korrekt.

Sieht jemand einen Fehler im Code? Simulation mit AVRStudio läuft so
wie es gedacht ist.

Gruß

Michael

von Jadeclaw (Gast)


Lesenswert?

> PORTD= 0xFF; //Pull-Up-Widerstände aktivieren
Ich nehme mal an, das ist jetzt PORTD= 0x00; Oder?
Dann sollten 10kOhm gegen Masse ausreichen, um sicheren 0-Pegel zu
erreichen.
Dann sollte das auch so gehen.

Gruss
Jadeclaw.

von crazy horse (Gast)


Lesenswert?

das kann in die Hose gehen. Erstmal sind die Ports nicht immer wirklich
8bit breit, (2313 z.B.), ausserdem spielt der Wert vorhandener, aber
von dir nicht beachteter Ports eine Rolle.
Also besser so:

taster = PIND & 0x0f; //nur die unteren 4 Bits sind noch relevant

von Michael Gnotrer (Gast)


Lesenswert?

Hi!
Danke für Eure Antworten! Also wenn es dieses Forum nicht geben
würde...

Ich habe meine Schaltung leicht geändert und die Taster als ActiveLow
gebaut, das spart die externen Widerstände und die unbelegten Pins
gehen durch die internen PullUps ja automatisch auf High.

Enprellt habe ich das Ganze durch
_delay_loop_2(0);
_delay_loop_2(0);
nach jedem Tastendruck. Ich weiß dass das nicht wirklich optimal ist,
aber es funktioniert genau so, wie es soll, und wenn man die Taste
gedrückt hält, wird der Befehl brav mehrfach ausgeführt.

Danke nochmal!

Michael

von Hannes L. (hannes)


Lesenswert?

Das ist NICHT optimal.

Suche mal in der Artikelsammlung nach "entprellung".

...

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.