Hallo Leute!
Ich hab ein etwas umfangreiches Problem und vielleicht kann mir hier
jemand (oder mehrere) weiterhelfen.
Folgendes Szenario:
Ich will eine Tastenmatrix (Folientastatur) mit 2 Spalten und 5 Zeilen
an einen AT90USB1287 betrieben.
Ein Umschalten auf eine zweite Tastenreihe auf der Tastatur per FN-Taste
soll auch möglich sein, deswegen habe ich die AppNote 243 als Vorlage
benutzt.
Da ich erst seit kurzem mit µCs arbeite, fällt mir alles noch ein
bißchen schwer, jedoch habe ich es schon mal geschafft, dass der GCC
ohne Fehler kompiliert.
Nur leider Gottes macht der AT90USB1287 nach dem flashen rein gar nichts
und ich hab eher weniger Plan, wo ich anfangen muss zu suchen. Als
Device wird er zumindest erkannt und "lsusb" listet es auch.
Ein Punkt ist z.B. die Tatsache, dass in dem AppNote die Zeilen und die
Spalten an Pins mit Pin Change Interrupts hängen, aber im Code nur die
pin change interrupts der Pins 8-15 aktiviert werden, also die der
Spalten.
Da der AT90USB1287 nur am Port B über eine solche Interruptfunktion
verfügt, habe ich die Spalten an Port B gehängt und die Zeilen an Port E
um den Code leichter adaptieren zu können. Oder müssen sowohl für
Spalten, als auch für Zeilen pin change interrupts zur Verfügung stehen,
auch wenn sie im Code nicht aktiviert werden?! (so liest sich nämlich
die PDF zum AVR243).
Das weitere Problem ist, dass ich nicht weiß, ob der Code zur
Übermittlung über den USB Bus passt. Ich habe dazu einfach den Code zum
Transformieren der Keycodes in den USB Task eingefügt, der so schon
durch das MyUSB Library (von http://www.fourwalledcubicle.com/MyUSB.php
) und der dazugehöreigen Keyboard-Demo vorhanden war.
Wie gesagt, die Problemstellung ist ganz schön umfangreich und ich weiß
mit meiner sehr begrenzten µC-Erfahrung nicht mehr wirklich weiter.
Noch zur Info: Ich hab den AT90USB1287 in Form des von Atmel
erhältlichen Demoboards AT90USBKEY und arbeite unter Linux. Den Code
habe ich gepackt mit angehängt, relevant sind v.a. die Dateien
keymatrix.* und myCellPhone.c (die ich noch nicht umbedannt habe ;-) ).
Für jede Hilfe die mich weiterbringt wäre ich äußerst dankbar!
Andreas