Hallo, ich versuche an meine PIC 18F2550 eine PS2 Tastatur anzuschlien. Die Tastatur soll nur gelesen werden. Ich hab bis jetzt nur versucht das Clock Signal der Tastatur abzufangen und zu lesen allerding verlässt der PIC die Unterroutine zum Checken der Clock nicht. Die Prüfung der auf High wird bestanden, was auch logisch ist da ja nach PS2 Standard der Ruhezustand der Leitung High ist. Allerding empfängt mein PIC kein Low Signal der Tastatur. Ich hab Tastaur mehrmals am Computer geteste und sie funktioniert also kann nicht der grund für den fehler sein. Auch die Hardware hab ich mehr mals geprüft und durch geklingelt allerdings konnte ich keinen Fehler in der Hardware finden. Bilder von meiner Platine könnt ihr auf http://www.ik4ru5.de ansehn ... hoffentlich erkennt ihr genug. Erklärung der Bilder CIMG2076.JPG: - die oberen 4 Pins die zusammen gelötet sind liegen auf meiner Entwicklungs umgebung auf Masse - die 4 weiteren Pins die zusammen gelötet sind liegen auf +5V - gefolgt von der Clockleitung - dann kommt die Datenleitung CIMG2077.JPG - die 4 rechten Pins sind Masse - die 4 links von Masse sind +5V - dann Clock - dann wieder Data CIMG2078.JPG - rechts 4 Masse - die 4 links von Masse wieder +5V - dann Clock - dann wieder Data Die PS/2 Buchse ist von Reichelt Artikel-Nr: EB-DIO M06 Datenblatt ist bei Reicletverfügar (http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=0;INDEX=0;FILENAME=C160%252FEB-DIOS%2523ASS.pdf;SID=15ygyVbawQAQ8AADrHCGwc6f03d58159cb03456c6585c619d2d61)... ich hoffe der Link geht Vielen Dank im Vorraus Ik4ru5
Falls es noch hilfreich ist ich benutze eine alte Cherry PS/2 Tastatur FCCID: GDDG83-6000 Model RS 6000 Part No.: G83-6105LPNDE/ 02 Serial NO.: G0064518 2K35 4 1 Mfg Ik4ru5
CALL UP_PS2_clock_change ;*********************************************************************** ******* ; Unterprogramme UP_clock_change Da passt doch was nicht?
Oh sorry also das war nur ein fehler von zusammen fassen hatte no teile vom anderen Programm drinne und da hieß funktion noch UP_clock_change ... also daran liegts net das is nur ein Tippfehler ... also einfach überlesen ;)
>... also daran liegts net das is nur ein Tippfehler ... also einfach >überlesen ;) Den Rest am besten auch ignorieren. Bis der Originalcode mal rüberkommt.
Keine ahnung was du damit sagen willst aber das is der Orginal Code. Hab jetzt nochmal den Korregierten Code angehägt. In dem anderen Code war nur noch meine LCD routinen drinne und da die funktioniren braucht ihr euch ja nich durch unnötigen Code zu welzen. Mfg Ik4ru5
>allerding verlässt der PIC die Unterroutine zum Checken der >Clock nicht Hast du das vermeintlich durch Messung an PORTB:6 festgestellt? Der und PORTB:7 sind nämlich standardmäßig vom OnChip-Debug belegt und müssen in den ConfigBits explizit als I/O freigegeben werden. Grüße, Edson
>Keine ahnung was du damit sagen willst aber das is der Orginal Code.
Ich möchte damit sagen das der zuerst gepostete Post
wohl kaum durch den Assembler gegangen ist. Der hätte
dir haufenweise Fehlermeldungen um die Ohren gehauen
und auf keinen Fall ein Programm generiert was du auch
nur annähernd getestet haben könntest.
Und ob der das mag weiß ich nicht:
CLRF PORTC ; alle Pins von PORTC -> Ausg�nge
CLRF TRISC ; PORTC komplett l�schen
#DEFINE ps2_data PORTA,1 ; PS/2 Datenleitung
#DEFINE ps2_clock PORTA,0 ; PS/2 Clockleitung
>Ich möchte damit sagen das der zuerst gepostete Post
Ich möchte damit sagen das der zuerst gepostete CODE
.... ;)
@Holger Meinst du die #defines im executable code? Die lässt MPASM tatsächlich so durchgehen. Im AbsoluteMode ist das manchmal sinnvoller, als einen riesigen Header voranzustellen oder es in ein include-File wegzupacken. Mehrere Files verarbeitet man bequemer im RelocatableMode(mit MPLINK). Grüße, Edson
So für alle skeptiker ob der Code geht auf http://www.ik4ru5.de ist der Code noch ma geuppt als .asm und mit mpasm Assembliert mit der generierten .cod und .hex Datei und wer will sogar eine .lst Mfg Ik4ru5
Ik4ru5 wrote:
> So für alle skeptiker
Hast du meine Beiträge überhaupt gelesen?
Grüße,
Edson
Ja hab ich aber ich hab dich auch nich zu den skeptiken gezählt. Aber mein Problem liegt wahrscheinlich weniger an der Software. Wird wohl eher an der Hardware liegen und ich wäre super froh wenn mir jemand helfen könnte. Vielen dank schon ma Ik4ru5
Schon ok. Die ConfigBits betreffen in Bezug auf PORTB direkt die externe Hardware. Beantworte doch bitte meine Frage, wie du den Fehler festgestellt hast. Per Messung an PORTB:6 oder benutzt du einen Debugger? Grüße, Edson
Ich benutze keine Debugger und an PORTB:6 und PORTB:5 lass ich nur die LED Blinken um zu erkennen nach was er grade Prüft. Und es blinkt nur PORTB:6 also Prüft der nur auf Low und kehrt nicht auf High zurück. Mfg ik4ru5
Ok, dann ist die OnChip-Debug Funktion deaktiviert, was sie ja auch sein sollte. >Wird wohl eher an der Hardware liegen und ich wäre super froh >wenn mir jemand helfen könnte. Da ich keine Zeit und Lust habe mich in deine Bilder und die Verdrahtung reinzudenken, hier mein Tip: Schließ mal nur +5V/GND an die Tastatur bzw. an deinem Stecker an und messe die Clock und Datenleitung nach. Wenn die Signale anliegen, kannst du sie wieder mit dem PIC verbinden. Sobald sie da anliegen, wo sie hinsollen, liegts nicht mehr an der Hardware. Oder fehlt es dir etwa an geeignetem Messinstrument? Grüße, Edson
Mir fehlt es in der tat an den geeigneten Mess Instrumenten aber ich versuche zurzeit an ein Oszilloskop zu kommen um genau das zu machen was du vorschlägst. Aber trotzdem danke für die hilfreichen Tipps. Ich werde mich nochmal melden wenn ich es hinbekommen hab und die Lösung des Problems bekannt geben Mfg Ik4ru5
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.