Hallo, und zwar folgendes Problem, habe das EasyAvr Board 5, worauf sich 32 Taster befinden, und jeder Taster mit einem Port verbunden ist, also keine Matrix. Meine Frage wäre jetzt, wie ich es am geschicktesten machen könnte, zum einen überprüfen ob eine Taste gedrückt ist(per Interrupt?), wobei das sicher nicht das Problem sein wird vorerst, aber was nun wenn die Ports grad für was anderes verwendet werden? Wie kann ich hier eine Unterscheidung machen zwischen nen Tastendruck und dem Anderen? Ist dies überhaupt möglich? aja Atmega16 und C wird verwendet ^^
Martin Wi wrote: > und zwar folgendes Problem, habe das EasyAvr Board 5, worauf sich 32 > Taster befinden, und jeder Taster mit einem Port verbunden ist, also > keine Matrix. ... > aja Atmega16 und C wird verwendet ^^ Der ATmega16 hat 32 IOs, wenn wirklich an jedem ne Taste hängt, dann hast Du 32 Eingänge und 0 Ausgänge. So eine Schaltung ist einfach hirnrissig, da völlig funktionslos. Mach ne 4*8 Matrix, dann kann der AVR mit den übrigen 20 Pins auch noch was tun. > Wie kann ich hier eine > Unterscheidung machen zwischen nen Tastendruck und dem Anderen? Ist dies > überhaupt möglich? Nein. Peter
Auf dem EasyAVR hängt jeder Port an einer Taste... Die Kunst ist halt, keine zu drücken die als Ausgang definiert ist - alternativ, das gesamte Tastenfeld abschalten (Potentialstecker ziehen). Das Tastenfeld sowie die Leds sind als Schnell- und Funktionstest wunderbar geeignet. Wenn man eine Matrix benötigt, muss man entweder eine aus dem Zubehör bestellen oder einfach selber bauen. http://www.mikroe.com/en/tools/easyavr5/ http://www.mikroe.com/en/tools/keypad/
Hey Erstmals danke für die Hilfe. Ja wir machen jetzt ne 4x3 Matrix und schließen diese an PortD an. @Jörg B. danke für die Links, da gibts ja noch paar Sachen an Zubehör für das Board. Da du anscheinend das Board kennst, hätte ich noch ne Frage an dich. Das normale LCD lauft ja schon mithilfe der LCD-Routine von hier, weißt du aber obs irgendwo noch so Beispielprogramme für das Board in C gibt? Die mitgelieferten sind ja leider nur in BASC und so. Vor allem würd mich aber auch ne Grafik-LCD-Routine interessieren. lg Martin
Kann ich derzeit leider nicht mit dienen... Einfach mal schauen, was da für ein Kontroller drauf ist und an welchen Portpins der angeschlossen ist... sollte eigentlich dann kein großes Problem sein ein C-Programm darauf anzupassen.
hey controller ist ein S6B0108. hm jo , hab da ne routine gefunden, mal schaun ob ichs hinkrieg.. aber danke für die hilfe. lg
noch was, da der eine s6b0108 angeblich kompatible mit dem KS0108B ist, möcht ich wie gesagt die routine von ape verwenden. wobei ich noch net ganz den durchblick hab in bezug auf die anzahl der controller, zum einen auf meinem display, zum anderen, auf wieviel controller die vorhandene lcd routine abgestimmt ist. wie kann man das rausfinden? bei meinem Display sind eben die Stellen mit U1, U2 und U3 gekennzeichnet. danke im voraus (und ja wenns noch länger dauert mach ich nen neuen beitrag ^^) lg
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.